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

Scott Long scottl at samsco.org
Thu Mar 4 03:36:46 UTC 2010


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.

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