Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Nov 1996 13:16:14 +0100 (MET)
From:      "Ph. Charnier" <charnier@xp11.frmug.org>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   bin/2040: make world fails after cp -pR of /usr/bin
Message-ID:  <199611161216.NAA01501@xp11.frmug.org>
Resent-Message-ID: <199611162300.PAA26202@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         2040
>Category:       bin
>Synopsis:       make world fails after cp -pR of /usr/bin
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sat Nov 16 15:00:05 PST 1996
>Last-Modified:
>Originator:     Ph. Charnier
>Organization:
>Release:        FreeBSD 3.0-CURRENT i386
>Environment:

	

>Description:

	cp -pR breaks hard links, (chpass, chfn, chsh, ypchpass, ypchfn and
ypchsh become 6 differents programs). Make install will fail later because it
assumes that only chpass has immutable flag.
I got: rm: /usr/bin/yppasswd: Operation not permitted.

>How-To-Repeat:

	notice that the defect list of your hard disk is quickly growing
and after a lot of bad144 actions, decide to put /usr on another disk. Run a
dump to save your datas, but too late! Run cp -pR ... :-)

>Fix:

	the enclosed patches can recover from such a situation

Index: Makefile
===================================================================
RCS file: /home2h/FreeBSD.cvsroot/src/usr.bin/chpass/Makefile,v
retrieving revision 1.9
diff -u -r1.9 Makefile
--- Makefile	1996/08/12 14:45:21	1.9
+++ Makefile	1996/11/16 11:50:54
@@ -52,8 +52,10 @@
 	${RPCGEN} -c -o ${.TARGET} ${RPCSRC_PRIV}
 
 beforeinstall:
-	[ ! -e ${DESTDIR}${BINDIR}/chpass ] || \
-		chflags noschg ${DESTDIR}${BINDIR}/chpass
+.for i in chpass chfn chsh ypchpass ypchfn ypchsh
+	[ ! -e ${DESTDIR}${BINDIR}/$i ] || \
+		chflags noschg ${DESTDIR}${BINDIR}/$i
+.endfor
 
 afterinstall:
 	chflags schg ${DESTDIR}${BINDIR}/chpass


Index: Makefile
===================================================================
RCS file: /home2h/FreeBSD.cvsroot/src/usr.bin/passwd/Makefile,v
retrieving revision 1.20
diff -u -r1.20 Makefile
--- Makefile	1996/11/03 03:11:54	1.20
+++ Makefile	1996/11/16 11:56:04
@@ -65,8 +65,10 @@
 .endif
 
 beforeinstall:
-	[ ! -e ${DESTDIR}${BINDIR}/passwd ] || \
-		chflags noschg ${DESTDIR}${BINDIR}/passwd
+.for i in passwd yppasswd
+	[ ! -e ${DESTDIR}${BINDIR}/$i ] || \
+		chflags noschg ${DESTDIR}${BINDIR}/$i
+.endfor
 
 afterinstall:
 	chflags schg ${DESTDIR}${BINDIR}/passwd


>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611161216.NAA01501>