Module Name: src
Committed By: apb
Date: Fri Apr 10 16:16:12 UTC 2009
Modified Files:
src/distrib/common: parselist.awk
src/share/dict: Makefile
src/share/mk: bsd.README bsd.hostprog.mk bsd.kmodule.mk bsd.lib.mk
bsd.links.mk bsd.man.mk bsd.prog.mk
src/share/zoneinfo: Makefile
Log Message:
Add LINKSOWN, LINKSGRP, and LINKSMODE variables for use by bsd.links.mk
when installing hard links. They have no effect except when using a
metalog, in which case the information is added to the metalog. In
the future, these variables may be replaced by a method for explicitly
recording hard links in a metadata log.
Also change a few things that called ${INSTALL_LINK} without going
through bsd.links.mk.
Reviewed by perry and joerg. This should fix PR 24457 and PR 41155.
To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/distrib/common/parselist.awk
cvs rdiff -u -r1.16 -r1.17 src/share/dict/Makefile
cvs rdiff -u -r1.248 -r1.249 src/share/mk/bsd.README
cvs rdiff -u -r1.54 -r1.55 src/share/mk/bsd.hostprog.mk
cvs rdiff -u -r1.18 -r1.19 src/share/mk/bsd.kmodule.mk
cvs rdiff -u -r1.297 -r1.298 src/share/mk/bsd.lib.mk
cvs rdiff -u -r1.33 -r1.34 src/share/mk/bsd.links.mk
cvs rdiff -u -r1.99 -r1.100 src/share/mk/bsd.man.mk
cvs rdiff -u -r1.240 -r1.241 src/share/mk/bsd.prog.mk
cvs rdiff -u -r1.42 -r1.43 src/share/zoneinfo/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/distrib/common/parselist.awk
diff -u src/distrib/common/parselist.awk:1.15 src/distrib/common/parselist.awk:1.16
--- src/distrib/common/parselist.awk:1.15 Wed Apr 30 13:10:48 2008
+++ src/distrib/common/parselist.awk Fri Apr 10 16:16:12 2009
@@ -1,4 +1,4 @@
-# $NetBSD: parselist.awk,v 1.15 2008/04/30 13:10:48 martin Exp $
+# $NetBSD: parselist.awk,v 1.16 2009/04/10 16:16:12 apb Exp $
#
# Copyright (c) 2002 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -225,7 +225,7 @@
crunchprog, 555);
continue;
}
- link(crunchprog, $i);
+ link(crunchprog, $i, 555);
}
}
next;
@@ -248,7 +248,7 @@
err("Usage: LINK prog link [...]");
if (mode == "install" || mode == "mtree" || mode == "populate") {
for (i = 3; i <= NF; i++)
- link($2, $i);
+ link($2, $i, 444);
}
next;
}
@@ -305,7 +305,8 @@
if (perm == "")
perm = 444;
if (mode == "install") {
- printf("\t${INSTALL_FILE} -o ${BINOWN} -g ${BINGRP} -m %s %s %s/%s\n",
+ printf("\t${INSTALL_FILE} -o ${BINOWN} -g ${BINGRP}" \
+ " -m %s %s %s/%s\n",
perm, src, ENVIRON["TARGETDIR"], dest)
} else if (mode == "mtree") {
printf("./%s mode=%s\n", dest, perm);
@@ -316,13 +317,14 @@
}
}
-function link (src, dest) \
+function link (src, dest, perm) \
{
if (mode == "install") {
- printf("\t${INSTALL_LINK} %s/%s %s/%s\n",
- ENVIRON["TARGETDIR"], src, ENVIRON["TARGETDIR"], dest)
+ printf("\t${INSTALL_LINK} -o ${BINOWN} -g ${BINGRP}" \
+ " -m %s %s/%s %s/%s\n",
+ perm, ENVIRON["TARGETDIR"], src, ENVIRON["TARGETDIR"], dest)
} else if (mode == "mtree") {
- printf("./%s\n", dest);
+ printf("./%s mode=%s\n", dest, perm);
} else {
printf("rm -rf %s/%s\n", ENVIRON["TARGETDIR"], dest);
printf("(cd %s; ln %s %s) || exit 1\n",
Index: src/share/dict/Makefile
diff -u src/share/dict/Makefile:1.16 src/share/dict/Makefile:1.17
--- src/share/dict/Makefile:1.16 Wed Sep 18 08:12:29 2002
+++ src/share/dict/Makefile Fri Apr 10 16:16:12 2009
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.16 2002/09/18 08:12:29 lukem Exp $
+# $NetBSD: Makefile,v 1.17 2009/04/10 16:16:12 apb Exp $
# @(#)Makefile 8.1 (Berkeley) 6/5/93
# Missing: connectives, words
@@ -8,5 +8,6 @@
FILES= README propernames web2 web2a
FILESDIR=${BINDIR}/dict
LINKS= ${FILESDIR}/web2 ${FILESDIR}/words
+LINKSMODE= ${FILESMODE}
.include <bsd.prog.mk>
Index: src/share/mk/bsd.README
diff -u src/share/mk/bsd.README:1.248 src/share/mk/bsd.README:1.249
--- src/share/mk/bsd.README:1.248 Fri Mar 13 16:23:31 2009
+++ src/share/mk/bsd.README Fri Apr 10 16:16:12 2009
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.README,v 1.248 2009/03/13 16:23:31 perry Exp $
+# $NetBSD: bsd.README,v 1.249 2009/04/10 16:16:12 apb Exp $
# @(#)bsd.README 8.2 (Berkeley) 4/2/94
This is the README file for the make "include" files for the NetBSD
@@ -1024,6 +1024,11 @@
The include file <bsd.links.mk> handles the LINKS and SYMLINKS variables
and is included from from <bsd.lib.mk> and <bsd.prog.mk>.
+LINKSOWN, LINKSGRP, and LINKSMODE, are relevant only if a metadata log
+is used. The defaults may be modified by other bsd.*.mk files which
+include bsd.links.mk. In the future, these variables may be replaced
+by a method for explicitly recording hard links in a metadata log.
+
LINKS The list of hard links, consisting of pairs of paths:
source-file target-file
${DESTDIR} is prepended to both paths before linking.
@@ -1045,6 +1050,18 @@
are installed by the `configinstall' target,
not the `install' target.
+LINKSOWN Link owner. [${BINOWN}]
+
+LINKSGRP Link group. [${BINGRP}]
+
+LINKSMODE Link mode. [${NONBINMODE}]
+
+LINKSOWN_<fn> Link owner of the specific file <fn>.
+
+LINKSGRP_<fn> Link group of the specific file <fn>.
+
+LINKSMODE_<fn> Link mode of the specific file <fn>.
+
=-=-=-=-= bsd.man.mk =-=-=-=-=
Index: src/share/mk/bsd.hostprog.mk
diff -u src/share/mk/bsd.hostprog.mk:1.54 src/share/mk/bsd.hostprog.mk:1.55
--- src/share/mk/bsd.hostprog.mk:1.54 Wed Nov 19 14:10:48 2008
+++ src/share/mk/bsd.hostprog.mk Fri Apr 10 16:16:12 2009
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.hostprog.mk,v 1.54 2008/11/19 14:10:48 pooka Exp $
+# $NetBSD: bsd.hostprog.mk,v 1.55 2009/04/10 16:16:12 apb Exp $
# @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94
.include <bsd.init.mk>
@@ -132,6 +132,7 @@
.endif
##### Pull in related .mk logic
+LINKSMODE?= ${BINMODE}
.include <bsd.man.mk>
.include <bsd.nls.mk>
.include <bsd.files.mk>
Index: src/share/mk/bsd.kmodule.mk
diff -u src/share/mk/bsd.kmodule.mk:1.18 src/share/mk/bsd.kmodule.mk:1.19
--- src/share/mk/bsd.kmodule.mk:1.18 Sat Jan 24 22:14:45 2009
+++ src/share/mk/bsd.kmodule.mk Fri Apr 10 16:16:12 2009
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.kmodule.mk,v 1.18 2009/01/24 22:14:45 rmind Exp $
+# $NetBSD: bsd.kmodule.mk,v 1.19 2009/04/10 16:16:12 apb Exp $
# We are not building this with PIE
MKPIE=no
@@ -96,6 +96,9 @@
.endif
##### Pull in related .mk logic
+LINKSOWN?= ${KMODULEOWN}
+LINKSGRP?= ${KMODULEGRP}
+LINKSMODE?= ${KMODULEMODE}
.include <bsd.man.mk>
.include <bsd.links.mk>
.include <bsd.dep.mk>
Index: src/share/mk/bsd.lib.mk
diff -u src/share/mk/bsd.lib.mk:1.297 src/share/mk/bsd.lib.mk:1.298
--- src/share/mk/bsd.lib.mk:1.297 Wed Apr 1 17:47:39 2009
+++ src/share/mk/bsd.lib.mk Fri Apr 10 16:16:12 2009
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.lib.mk,v 1.297 2009/04/01 17:47:39 perry Exp $
+# $NetBSD: bsd.lib.mk,v 1.298 2009/04/10 16:16:12 apb Exp $
# @(#)bsd.lib.mk 8.3 (Berkeley) 4/22/94
.include <bsd.init.mk>
@@ -733,6 +733,9 @@
.endif # !target(libinstall) # }
##### Pull in related .mk logic
+LINKSOWN?= ${LIBOWN}
+LINKSGRP?= ${LIBGRP}
+LINKSMODE?= ${LIBMODE}
.include <bsd.man.mk>
.include <bsd.nls.mk>
.include <bsd.files.mk>
Index: src/share/mk/bsd.links.mk
diff -u src/share/mk/bsd.links.mk:1.33 src/share/mk/bsd.links.mk:1.34
--- src/share/mk/bsd.links.mk:1.33 Sun Mar 1 09:42:41 2009
+++ src/share/mk/bsd.links.mk Fri Apr 10 16:16:12 2009
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.links.mk,v 1.33 2009/03/01 09:42:41 isaki Exp $
+# $NetBSD: bsd.links.mk,v 1.34 2009/04/10 16:16:12 apb Exp $
.include <bsd.init.mk>
@@ -8,11 +8,22 @@
##### Default values
LINKS?=
SYMLINKS?=
+LINKSOWN?= ${BINOWN}
+LINKSGRP?= ${BINGRP}
+LINKSMODE?= ${NONBINMODE}
__linkinstall: .USE
${_MKSHMSG_INSTALL} ${.TARGET}; \
- ${_MKSHECHO} "${INSTALL_LINK} ${.ALLSRC} ${.TARGET}" && \
- ${INSTALL_LINK} ${.ALLSRC} ${.TARGET}
+ ${_MKSHECHO} "${INSTALL_LINK} \
+ -o ${LINKSOWN_${.ALLSRC:T}:U${LINKSOWN}} \
+ -g ${LINKSGRP_${.ALLSRC:T}:U${LINKSGRP}} \
+ -m ${LINKSMODE_${.ALLSRC:T}:U${LINKSMODE}} \
+ ${.ALLSRC} ${.TARGET}" && \
+ ${INSTALL_LINK} \
+ -o ${LINKSOWN_${.ALLSRC:T}:U${LINKSOWN}} \
+ -g ${LINKSGRP_${.ALLSRC:T}:U${LINKSGRP}} \
+ -m ${LINKSMODE_${.ALLSRC:T}:U${LINKSMODE}} \
+ ${.ALLSRC} ${.TARGET}
##### Install rules
.PHONY: linksinstall
Index: src/share/mk/bsd.man.mk
diff -u src/share/mk/bsd.man.mk:1.99 src/share/mk/bsd.man.mk:1.100
--- src/share/mk/bsd.man.mk:1.99 Tue Mar 31 21:00:34 2009
+++ src/share/mk/bsd.man.mk Fri Apr 10 16:16:12 2009
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.man.mk,v 1.99 2009/03/31 21:00:34 perry Exp $
+# $NetBSD: bsd.man.mk,v 1.100 2009/04/10 16:16:12 apb Exp $
# @(#)bsd.man.mk 8.1 (Berkeley) 6/8/93
.include <bsd.init.mk>
@@ -54,8 +54,10 @@
# XXX consider including bsd.links.mk and using __linkinstall instead
__linkinstallpage: .USE
${_MKSHMSG_INSTALL} ${.TARGET}; \
- ${_MKSHECHO} "${INSTALL_LINK} ${.ALLSRC} ${.TARGET}" && \
- ${INSTALL_LINK} ${.ALLSRC} ${.TARGET}
+ ${_MKSHECHO} "${INSTALL_LINK} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} \
+ ${.ALLSRC} ${.TARGET}" && \
+ ${INSTALL_LINK} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} \
+ ${.ALLSRC} ${.TARGET}
##### Build and install rules (source form pages)
Index: src/share/mk/bsd.prog.mk
diff -u src/share/mk/bsd.prog.mk:1.240 src/share/mk/bsd.prog.mk:1.241
--- src/share/mk/bsd.prog.mk:1.240 Mon Nov 24 02:13:08 2008
+++ src/share/mk/bsd.prog.mk Fri Apr 10 16:16:12 2009
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.prog.mk,v 1.240 2008/11/24 02:13:08 cube Exp $
+# $NetBSD: bsd.prog.mk,v 1.241 2009/04/10 16:16:12 apb Exp $
# @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94
.ifndef HOSTPROG
@@ -442,6 +442,9 @@
.PHONY: scriptsinstall
##### Pull in related .mk logic
+LINKSOWN?= ${BINOWN}
+LINKSGRP?= ${BINGRP}
+LINKSMODE?= ${BINMODE}
.include <bsd.man.mk>
.include <bsd.nls.mk>
.include <bsd.files.mk>
Index: src/share/zoneinfo/Makefile
diff -u src/share/zoneinfo/Makefile:1.42 src/share/zoneinfo/Makefile:1.43
--- src/share/zoneinfo/Makefile:1.42 Thu Nov 8 20:14:07 2007
+++ src/share/zoneinfo/Makefile Fri Apr 10 16:16:12 2009
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.42 2007/11/08 20:14:07 drochner Exp $
+# $NetBSD: Makefile,v 1.43 2009/04/10 16:16:12 apb Exp $
.include <bsd.own.mk>
@@ -104,8 +104,10 @@
continue; \
fi; \
${_MKSHMSG_INSTALL} $$destfile; \
- ${_MKSHECHO} ${INSTALL_LINK} $$lastfile $$destfile; \
- ${INSTALL_LINK} $$lastfile $$destfile; \
+ ${_MKSHECHO} ${INSTALL_LINK} -o ${BINOWN} -g ${BINGRP} \
+ -m ${NONBINMODE} $$lastfile $$destfile; \
+ ${INSTALL_LINK} -o ${BINOWN} -g ${BINGRP} \
+ -m ${NONBINMODE} $$lastfile $$destfile; \
else \
lastdevino=$$devino; \
lastfile=$$destfile; \