Date: Wed, 7 Jul 2004 11:17:00 +0200 (CEST) From: Harti Brandt <harti@freebsd.org> To: Ruslan Ermilov <ru@freebsd.org> Cc: hackers@freebsd.org Subject: Re: make installworld for non-root user Message-ID: <20040707110933.I3576@beagle.kn.op.dlr.de> In-Reply-To: <20040707080739.GB66260@ip.net.ua> References: <20040707095457.J3232@beagle.kn.op.dlr.de> <20040707080739.GB66260@ip.net.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 7 Jul 2004, Ruslan Ermilov wrote: RE>On Wed, Jul 07, 2004 at 09:57:52AM +0200, Harti Brandt wrote: RE>> RE>> Hi all, RE>> RE>> is there an easy way for a non-root user to test the installworld target? RE>> I came up with RE>> RE>> make SHAREOWN=harti SHAREGRP=harti LIBOWN=harti LIBGRP=harti \ RE>> NOFSCHG=yes INFOMODE=644 INFOOWN=harti INFOGRP=harti MANOWN=harti \ RE>> MANGRP=harti BINOWN=harti BINGRP=harti DESTDIR=/t/scratch/harti/root/ \ RE>> installworld RE>> RE>> but that one breaks in libexec/pt_chown (which has a hard-coded RE>> BINOWN=root). RE>> RE>> Perhaps I can't see the obvious solution? RE>> RE>Many bits hardcode owners/groups/modes/flags, but it's still RE>possible to install as non-root. In fact, buildworld already RE>does this for you -- it uses src/tools/install.sh as INSTALL RE>to do it (see the BMAKEENV setting in Makefile.inc1). So it seems that: make SHAREOWN=harti SHAREGRP=harti INSTALL="sh `pwd`/release/install.sh" \ DESTDIR="/somewhere" installworld almost works. Almost, because bsd.lib.mk contains SHLINSTALLFLAGS += -fschg That case is not handled in install.sh and should probably read SHLINSTALLFLAGS += -f schg Additionally I had to add -fschg) shift;; to install.sh, because it seems that the installworld target uses the currently installed mk files not those from src/share/mk. The SHAREOWN SHAREGRP is needed because share/zoneinfo/Makefile passes these directly to zic. This could probably be fixed by calling zic during buildworld and just install the compiled files during installworld. Thanks for your help, harti
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040707110933.I3576>