poudriere, python ports, and flavors oh my?

Adam Weinberger adamw at adamw.org
Sat Dec 2 23:20:09 UTC 2017


> On 2 Dec, 2017, at 5:55, Christian Ullrich <chris at chrullrich.net> wrote:
> 
> * Henrik Hudson wrote:
> 
>> So, I must be missing something. I have a poudriere jail specific
>> make.conf like this:
> 
>> #Python
>> DEFAULT_VERSIONS+= python=3.6 python2=2.7 python3=3.6
> 
> Same here, and this happens:
> 
> # cat /usr/local/etc/poudriere.d/py3-make.conf
> DEFAULT_VERSIONS+=      python=3.6
> # poudriere version
> 3.2.2
> # poudriere testport -j stable -z py3 databases/py-psycopg2
> [...]
> [00:00:02] Building 2 packages using 2 builders
> [00:00:02] Starting/Cloning builders
> [00:00:02] Hit CTRL+t at any time to see build progress and stats
> [00:00:02] [01] [00:00:00] Building lang/python27 | python27-2.7.14_1
> [00:00:02] [01] [00:00:00] Finished lang/python27 | python27-2.7.14_1: Ignored: Blacklisted
> [00:00:02] [01] [00:00:00] Skipping devel/py-setuptools at py27 | py27-setuptools-36.5.0: Dependent port lang/python27 | python27-2.7.14_1 ignored
> [00:00:02] Stopping 2 builders
> [00:00:03] Error: Depends failed to build
> [00:00:03] Failed ports:
> [00:00:03] Skipped ports: devel/py-setuptools at py27
> [00:00:03] Cleaning up
> [00:00:03] Unmounting file systems
> 
> lang/python27 is blacklisted for set py3 to prevent exactly this kind of disaster. If I remove it from the blacklist, still _only_ py27-flavored packages are built.
> 
> This looks like the introduction of flavors disconnected the Python ports from DEFAULT_VERSIONS.
> 
> What is the purpose behind this, and how do I get poudriere to build py36-flavored packages now _without_ adding "@py36" to each and every Python port in the list I feed to bulk?
> 
> There is the claim in UPDATING that "People using Poudriere 3.2+ [...] do not have to do anything." Unless, it appears, they use any Python version other than 2.7, since adding flavor suffixes to port lists is not "not anything".
> 
> My current setup is to have two sets, one with default 2.7, the other with default 3.6, resulting in two separate pkg repos, and when I need a Python 3.6 package, I take it from that repo. It may be that this method is now obsolete, but I would have expected this to be mentioned somewhere.

It's a bug, and it's being worked on. amdmi3 submitted https://reviews.freebsd.org/D13326 and it's awaiting commit. If you'd like to test the patch and confirm that it fixes the problem that'd be helpful.

Given that most people don't participate and test patches while they're in review, you have to expect that some bugs will only surface when it lands in HEAD. This is precisely why we have quarterly branches, and why we recommend that most people stay on quarterly.

# Adam


-- 
Adam Weinberger
adamw at adamw.org
https://www.adamw.org




More information about the freebsd-ports mailing list