support for DESTDIR: security/openssh-portable

Gábor Kövesdán gabor at FreeBSD.org
Thu Aug 10 13:25:55 UTC 2006


Brooks Davis wrote:
> On Wed, Aug 09, 2006 at 05:59:18PM -0600, John E Hein wrote:
>   
>> John E Hein wrote at 17:43 -0600 on Aug  9, 2006:
>>  > Well, the part that makes it annoying to duplicate in all ports is not
>>  > the two separate words (CHROOT DESTDIR), but that you have to test
>>  > defined(DESTDIR) && !empty(DESTDIR) before you can figure out whether
>>  > to use ${CHROOT} ${DESTDIR} or not.
>>  > 
>>  > So having that test to assign CHROOTDESTDIR or leave it empty in
>>  > bsd.port.mk allows the port writer to just always invoke it without
>>  > having to worry about testing for DESTDIR.
>>
>> You could pass this var to pkg-install scripts, too (put it in the
>> standard *SUB* lists).
>>
>> That way you don't have to do the dance that was added to
>> security/clamav/files/pkg-install.in:
>>
>> if [ -n "%%DESTDIR%%" ]; then
>>         PW="/usr/sbin/chroot %%DESTDIR%% pw"
>>         CHOWN="/usr/sbin/chroot %%DESTDIR%% chown"
>>         MKDIR="/usr/sbin/chroot %%DESTDIR%% mkdir -p"
>> else
>>         PW="pw"
>>         CHOWN="chown"
>>         MKDIR="mkdir -p"
>> fi
>>
>> but rather just:
>>
>> PW="%%CHROOTDESTDIR%% pw"
>> CHOWN="%%CHROOTDESTDIR%% chown"
>> MKDIR="%%CHROOTDESTDIR%% mkdir -p"
>>     
>
> This seems bogus.  I can't think of any good reason why packages should
> differ based on the valid of DESTDIR.  Instead the pkg-install script
> should be run inside the chroot.
>
> -- Brooks
>   
We wanted to go that way with garga when working on security/clamav, but 
we realized that we can't just do chroot /foo pkg-install, since the 
script is not located in the chroot itself. Do you have an another idea, 
how to chroot those scripts?

-- 
Cheers,

Gabor



More information about the freebsd-ports mailing list