poudriere and MAKEOBJDIRPREFIX

O. Hartmann ohartman at zedat.fu-berlin.de
Thu Mar 10 13:38:47 UTC 2016


There are some issues with using MAKEOBJDIRPREFIX in poudriere I wasn't
able to solve and I'd like to ask whether there is an official, still
for me undiscovered way, to do so.

The base system is running CURRENT. The intention is to have both
CURRENT and 10-STABLE jails to build appropriate packages via
poudriere. With CURRENT there is no problem, using the
canonical /usr/src and/usr/obj infrastructure works as well as building
the package repositorium.

The command line

env MAKEOBJDIRPREFIX=/some/place make -j12 buildworld

while residing within the sources of 10-STABLE from within a csh
environment gives me the object tree of FreeBSD 10-STABLE as expected.

Then I'd like to use this obj tree to build the jail needed for ports
compliant with 10-STABLE, so I issue

env MAKEOBJDIRPREFIX=/some/place poudriere jail -c -j 10-stable-amd64 \
-a amd64 -v stable/10 -m src=/somesrc/srcplace/

In poudriere.conf I added 

export MAKEOBJDIRPREFIX=$MAKEOBJDIRPREFIX

as recommended in some posts I found googling for a solution. Please
have in mind that I use csh - the export and poudriere's environment is
obviously sh.

This fails, the PATH is always cut down to /somesrc/srcplace/, missing
the prepending portion taken from MAKEOBJDIRPREFIX - it is set to zero
length it seems. Ommitting env MAKEOBJDIRPREFIX=/some/place to the
poudriere command as shown above results in "usr/obj" being prepended.
This seems odd!

The only sollution to this was to give the specific jail its private
10-stable-amd64-poudriere.conf. But this seems to be not the correct
way to do so, since  MAKEOBJDIRPREFIX is supposed to be set in the
environment.

What am I missing here?

Thanks and regards,

Oliver


More information about the freebsd-ports mailing list