Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Aug 2006 20:38:53 +0200
From:      =?ISO-8859-1?Q?G=E1bor_K=F6vesd=E1n?= <gabor@FreeBSD.org>
To:        Brooks Davis <brooks@one-eyed-alien.net>
Cc:        babak@farrokhi.net, amdmi3@mail.ru, John E Hein <jhein@timing.com>, freebsd-ports@freebsd.org, Kris Kennaway <kris@obsecurity.org>
Subject:   Re: DESTDIR implementation [Was:: ATTENTION: is the way DESTDIR was introduced completely wrong?]
Message-ID:  <44E3663D.3040201@FreeBSD.org>
In-Reply-To: <20060816183522.GB63928@lor.one-eyed-alien.net>
References:  <20060814234414.GA57035@hades.panopticon> <44E194BA.2020507@FreeBSD.org> <17634.5246.887894.836856@gromit.timing.com> <20060816173628.GA14848@xor.obsecurity.org> <44E35C08.3020502@FreeBSD.org> <20060816180646.GA79702@xor.obsecurity.org> <44E36070.4080007@FreeBSD.org> <20060816183522.GB63928@lor.one-eyed-alien.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Brooks Davis wrote:
> On Wed, Aug 16, 2006 at 08:14:08PM +0200, G?bor K?vesd?n wrote:
>   
>> Kris Kennaway wrote:
>>     
>>> On Wed, Aug 16, 2006 at 07:55:20PM +0200, G?bor K?vesd?n wrote:
>>>  
>>>       
>>>> Kris Kennaway wrote:
>>>>    
>>>>         
>>>>> On Tue, Aug 15, 2006 at 12:37:50PM -0600, John E Hein wrote:
>>>>>
>>>>>
>>>>>      
>>>>>           
>>>>>> The hard part is to get ports writers to think the right way about
>>>>>> DESTDIR after ignoring it for so many years.  And once you decide to
>>>>>> go about fixing it, there's no way around that problem.
>>>>>>   
>>>>>>        
>>>>>>             
>>>>> My preferred solution involves a couple of shell commands, along the
>>>>> lines of the following:
>>>>>
>>>>> mount_nullfs ${PORTSDIR} ${DESTDIR}${PORTSDIR}
>>>>> mount_nullfs ${WRKDIR} ${DESTDIR}${WRKDIR}
>>>>> mount_devfs foo ${DESTDIR}/dev
>>>>> chroot ${DESTDIR} cd ${.CURDIR} && make install
>>>>>
>>>>> A suitable version of the above should allow all ports to be installed
>>>>> into a jail-ready filesystem hierarchy, while requiring 0 port
>>>>> changes.
>>>>>
>>>>> Kris
>>>>>
>>>>>      
>>>>>           
>>>> This makes sense, but I did not succeed to use mount_nullfs on an 
>>>> 5.3-RELEASE/amd64 machine, while the same worked well on my 6.1/i386 
>>>> computer, so I'm not sure mount_nullfs is reliable enough on older 
>>>> systems.
>>>>    
>>>>         
>>> Who cares about old systems that are already unsupported and will only
>>> become even more unsupported over time?  Nullfs works in 6.x and will
>>> continue to work in the future (since I use it extensively and yell at
>>> whoever breaks it ;-)
>>>
>>>  
>>>       
>>>> Also, other targets should be supported as well, and the nullmounted 
>>>> directory should be umounted after he run. Anyway, I find this solution 
>>>> very good, if we can work this out a bit better, my progress so far 
>>>> would become pointless...
>>>>    
>>>>         
>>> It's a shame to throw away your work, but IMO it would also be a
>>> bigger shame not to proceed if a simpler solution can be made to work.
>>>
>>> Kris
>>>  
>>>       
>> Agreed. I just feel a bit guilty, since I made things complicated and 
>> obscure, while I just want to provide a good solution, but haven't 
>> thought of mount_nullfs.
>>     
>
> The one advantage I can see for a more complex DESTDIR solution is
> dealing with cross builds.  I suspect that it would be easier to handle
> them with DESTDIR, but that's only intuition.  (Obviously, not all ports
> can be easily cross built, but as embedded becomes more important to the
> project we need to start thinking about it for the ones that can be).
>
> -- Brooks
>   
Oh, yes. I have also thought of cross-building with DESTDIR. And there 
is a PR assigned to portmgr that requests a new feature, a plist make 
target. Plists could also be generated with installing into a temporary 
DESTDIR environment.

-- 
Cheers,

Gabor




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44E3663D.3040201>