From owner-freebsd-current Wed Dec 2 15:21:23 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id PAA18618 for freebsd-current-outgoing; Wed, 2 Dec 1998 15:21:23 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from nothing-going-on.demon.co.uk (nothing-going-on.demon.co.uk [193.237.89.66]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id PAA18595 for ; Wed, 2 Dec 1998 15:21:07 -0800 (PST) (envelope-from nik@nothing-going-on.demon.co.uk) Received: (from nik@localhost) by nothing-going-on.demon.co.uk (8.8.8/8.8.8) id VAA00624; Wed, 2 Dec 1998 21:21:15 GMT (envelope-from nik) Message-ID: <19981202212115.51555@nothing-going-on.org> Date: Wed, 2 Dec 1998 21:21:15 +0000 From: Nik Clayton To: "Jordan K. Hubbard" , Bruce Evans Cc: dillon@apollo.backplane.com, current@FreeBSD.ORG Subject: Re: Uh oh... References: <199812021233.XAA07714@godzilla.zeta.org.au> <7532.912603056@zippy.cdrom.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.89.1i In-Reply-To: <7532.912603056@zippy.cdrom.com>; from Jordan K. Hubbard on Wed, Dec 02, 1998 at 04:50:56AM -0800 Organization: Nik at home, where there's nothing going on Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Wed, Dec 02, 1998 at 04:50:56AM -0800, Jordan K. Hubbard wrote: > > `make world' is not permitted to change /etc. Especially not > > /etc/master.passwd when installing to DESTDIR=/mnt/root. > > Normally I'd agree, but... Your counter-suggestion? Documentation. Section 2 of the make-world tutorial talks about this (although admittedly it only talks about /etc/group, but I can fix that easily enough). As somone else has pointed out, I think it's legitimate for the first stage of 'installworld' to check for problems like this and bail out, or simply install using UIDs instead of names. I try and make sure people are told they have to upgrade /etc whenever make-world problems crop up on the lists. Hmm, here's an evil idea (and yes, I have no idea how difficult it would be to implement it). Where's the "/etc/" part of the configuration filenames hardcoded? It looks like it's mostly in libc/gen/get*. Could you build a special version of this library that looked in $DESTDIR/etc, and link 'install' with this library while doing the installation. With ELF, you might just be able to set LD_LIBRARY_PATH appropriately, no? Then, for the purposes of the installworld you can use usernames instead of UIDs without install complaining. It doesn't buy you much after that though if people haven't merged in the changes to /etc. Of course, this still lets people shoot their own foot by not passing the same DESTDIR value to the buildworld and installworld targets, but they'll have problems if they do that now anyway (and it's documented as such). N -- C.R.F. Consulting -- we're run to make me richer. . . To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message