stagedir vs. jail

Peter Looyenga pl at
Sun Oct 13 16:59:20 UTC 2013

>> I know this method is frowned upon because it's not a method which was
>> intended to be used by end users, but I have to disagree with you here:
>> setting seems to work flawlessly in disabling staging.

> Until you try to install a port that has been converted to use staging,
> when it will likely fail.  You're only getting apparent successes at the
> moment because the staging conversion process has only recently begun.

I'm also not too sure abou that. When looking at lang/perl5.14 you'll see
upon studying it's Makefile that it fully seems to support staging. It
doesn't set NO_STAGE, when issueing "make build" you'll come across the
stage directory in the ports work directory, and even in the Makefile itself
you'll see it being put to use. For example:

        @${MKDIR} ${STAGEDIR}${PREFIX}/lib/perl5/${PERL_VER}/man/man3
        @${MKDIR} ${STAGEDIR}${SITE_PERL}/${PERL_ARCH}/auto

And yet this is also a good example of a port where a reinstall or updating
will fail on my system because of pkg_add being used to install the
generated package, which in its turn demands /tmp to have the exec flag set.
I'm repeating myself, but forcing NO_STAGE overrides that behavior.

However, one thing I do agree with: you're absolutely right that staging is
still in the early stages (no pun intended), so I wouldn't be surprised if
this behavior got changed somehow in the future.

Kind regards, Peter

More information about the freebsd-ports mailing list