poudriere ignores stored options after r429298
Jan Beich
jbeich at freebsd.org
Sun Dec 25 06:08:04 UTC 2016
René Ladan <rene at freebsd.org> writes:
> On 24-12-2016 10:09, Stefan Ehmann wrote:
>
>> After today's ports update, poudriere ignores all options that were
>> previously stored.
>>
>> Everything works as before after reverting r429298 "Make the ports
>> infrastructure accept at least 3 level ports"
>>
>> Previously, poudriere stored its options for python27 in
>> /usr/local/etc/poudriere.d/options/lang_python27
>>
>> Now options are stored in
>> /usr/local/etc/poudriere.d/options/_usr_ports_lang_python27
>
> Hmm, it should still store options in the old directory, or did we
> overlook something?
Hmm, I don't like risky infra changes landing just before a new quaterly.
Can you back it out on 2017Q1?
>
> From
> https://reviews.freebsd.org/file/data/aq3dh3bgietiaksqg764/PHID-FILE-abonf7wbxelwjoqv2aiq/D8889.diff
> :
>
> Old:
> -_PORTDIRNAME= ${.CURDIR:T}
> -PORTDIRNAME?= ${_PORTDIRNAME}
> -PKGORIGIN?= ${PKGCATEGORY}/${PORTDIRNAME}
> -OPTIONS_NAME?= ${PKGORIGIN:S/\//_/}
> OPTIONS_FILE?= ${PORT_DBDIR}/${OPTIONS_NAME}/options
>
> New:
> +PKGORIGIN?= ${.CURDIR:C/${PORTSDIR}\///}
Assuming .CURDIR is under PORTSDIR or using absolute pathname violates POLA.
For one, I'm working with multiple forks of the ports tree without adjusting
PORTSDIR value as Mk/* bits are same or compatible. While such a workflow
isn't recommended it guarantees the same options apply to every tree.
> +OPTIONS_NAME?= ${PKGORIGIN:S/\//_/g}
> OPTIONS_FILE?= ${PORT_DBDIR}/${OPTIONS_NAME}/options
>> root at e17:/usr/local/etc/poudriere.d/options/lang_python27 # ls -l
>> total 5
>> -rw-r--r-- 1 root wheel 406 24 dec. 15:32 options
>
> What do 'make -V PKGORIGIN' and 'make -V OPTIONS_NAME' tell?
Perhaps, poudriere invoked |make config| outside of jail where PORTSDIR
has a different value.
More information about the freebsd-ports
mailing list