Restore the 'beforeinstall' for chpass(1), so files with the

schg flag are handled before being replaced by a symbolic link.

Fix passwd(1)/yppasswd(1) schg issue similarly to chpass(1).

Note:  These are likely temporary fixes while identifying any
remaining files that are not marked as 'flags=schg' via mtree(8).

Sponsored by:	The FreeBSD Foundation
This commit is contained in:
gjb 2016-01-28 02:56:30 +00:00
parent 780ae7713f
commit 5294f47313
2 changed files with 9 additions and 6 deletions

View File

@ -35,4 +35,11 @@ MLINKS= chpass.1 chfn.1 chpass.1 chsh.1
MLINKS+= chpass.1 ypchpass.1 chpass.1 ypchfn.1 chpass.1 ypchsh.1
.endif
beforeinstall:
.for i in chpass chfn chsh ypchpass ypchfn ypchsh
.if exists(${DESTDIR}${BINDIR}/$i)
-chflags noschg ${DESTDIR}${BINDIR}/$i
.endif
.endfor
.include <bsd.prog.mk>

View File

@ -6,9 +6,10 @@
PROG = passwd
BINOWN = root
BINMODE = 4555
PRECIOUSPROG=
LIBADD = pam
.if ${MK_NIS} != "no"
LINKS = ${BINDIR}/passwd ${BINDIR}/yppasswd
SYMLINKS = ${BINDIR}/passwd ${BINDIR}/yppasswd
MLINKS = passwd.1 yppasswd.1
.endif
@ -18,9 +19,4 @@ beforeinstall:
chflags noschg ${DESTDIR}${BINDIR}/$i || true
.endfor
.if !defined(NO_FSCHG)
afterinstall:
-chflags schg ${DESTDIR}${BINDIR}/passwd
.endif
.include <bsd.prog.mk>