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>