On 09/09/2018 19:34, Bjarne wrote: > > I have been using python 2.7 so far for all ports, which means all > python packages are built as py27-something. These python packages are > all automaticcaly build as dependencies from other packages, for example > like py27-dnspython which is a requirement of mailman. > > Now I am trying to change to python36, but can't get the py36 packages > to build. In the transition period, I would like to simultaneously have: > py27-something > py36-something > > > In make.conf for the jail I set: > DEFAULT_VERSIONS+= python=3.6 python=2.7
This does not do what you're expecting, and will be equivalent to just 'python=2.7' > I would expect a new "poudriere bulk" command would build all > py36-something for me, but no, got nothing. > No packages where build. > > > I added the follwing to poudriere.conf: > FLAVOR_DEFAULT_ALL=yes > Still without any luck. > > I can of course specify that I want to build for example dnspython and > then poudriere builds py36-dnspython, but that means I will have to go > through all dependencies by hand. > > So what am I supposed to do. OK, there are two ways of handling this. Firstly you can specify a package as: some/port@all in the list of packages you feed to poudriere. I think you can use that on a package which is not itself flavoured, and the effect is inherited by flavoured dependencies, but you'll need to experiment. If you do this explicitly for python ports it will result in building both python-2.7 and python-3.6 versions. Secondly you can build your packages with one default setting, and then do an incremental bulk using the other default setting, which should result in you ending up with both flavours in your repository. Something like: # echo 'DEFAULT_VERSIONS+= python=3.6' > /usr/local/etc/poudriere.d/python36-make.conf # poudriere bulk -c -f /usr/local/etc/poudriere.d/my-ports # poudriere bulk -z python36 -f /usr/local/etc/poudriere.d/my-ports It is, quite feasible to have simultaneous parallel installs of python-2.7 and python-3.6 -- the DEFAULT_VERSIONS make.conf setting will affect which version you get by typing plain 'python' by controlling how various symbolic links are created. Note that the version of any flavoured dependencies will be baked into unflavoured packages, and it's the last built that will appear in your repository. However, your example of trying to treat the mail/mailman port in this way is unfortunately doomed to failure, as mailman is specifically restricted to python-2.7 only. Cheers, Matthew
signature.asc
Description: OpenPGP digital signature