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> _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"