svn commit: r194266 - head/usr.bin/chpass

M. Warner Losh imp at bsdimp.com
Thu Mar 4 17:58:53 UTC 2010



In message: <CADA450C-C67C-47DA-BF64-40FFE011B1E9 at samsco.org>
            Scott Long <scottl at samsco.org> writes:
: Forcing the entire build to fail if chflags fails breaks installing
: to an NFS destination.  I haven't tested all possible permutations
: of src vs dest filesystems mounting, but I don't see how it can
: work over any type of NFS mount.  What is the reason for forcing
: this failure?  The NO_FSCHG variable is undocumented, and the
: failure mode here is pretty useless at helping the user fix the
: problem.  I'd like to re-add the '-' modifier to the chflags
: command that you removed.

NO_FSCHG variable has been around a long time, and is de-facto
supported.  It will be documented shortly when I get done cleaning up
build(7).

NO_FSCHG has been the documented way (in examples) for installing over
NFS for a very long time.  It looks to my eye like this change fixed a
problem with that...

Warner

: 
: Scott
: 
: On Jun 15, 2009, at 3:05 PM, Ed Schouten wrote:
: 
: > Author: ed
: > Date: Mon Jun 15 21:05:00 2009
: > New Revision: 194266
: > URL: http://svn.freebsd.org/changeset/base/194266
: > 
: > Log:
: >  Make the chpass Makefile honour NO_FSCHG.
: > 
: >  The chpass Makefile tried to set the fschg flag on the binaries, even if
: >  NO_FSCHG was passed to the installworld. This meant that if I installed
: >  FreeBSD into a Jail, I couldn't installworld from within the Jail
: >  anymore.
: > 
: >  Now that it listens to NO_FSCHG, we can just make it bail out when it
: >  fails, just like PRECIOUSPROG does.
: > 
: > Modified:
: >  head/usr.bin/chpass/Makefile
: > 
: > Modified: head/usr.bin/chpass/Makefile
: > ==============================================================================
: > --- head/usr.bin/chpass/Makefile	Mon Jun 15 21:03:25 2009	(r194265)
: > +++ head/usr.bin/chpass/Makefile	Mon Jun 15 21:05:00 2009	(r194266)
: > @@ -39,11 +39,12 @@ MLINKS+= chpass.1 ypchpass.1 chpass.1 yp
: > 
: > beforeinstall:
: > .for i in chpass chfn chsh ypchpass ypchfn ypchsh
: > -	[ ! -e ${DESTDIR}${BINDIR}/$i ] || \
: > -		chflags noschg ${DESTDIR}${BINDIR}/$i || true
: > +	-chflags noschg ${DESTDIR}${BINDIR}/$i
: > .endfor
: > 
: > +.if !defined(NO_FSCHG)
: > afterinstall:
: > -	-chflags schg ${DESTDIR}${BINDIR}/chpass
: > +	chflags schg ${DESTDIR}${BINDIR}/chpass
: > +.endif
: > 
: > .include <bsd.prog.mk>
: 


More information about the svn-src-all mailing list