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
_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to