Home | History | Annotate | Download | only in mk
History log of /src/share/mk/bsd.links.mk
RevisionDateAuthorComments
 1.35  29-Mar-2022  christos get rid of old style `` command substitution in shell and use $() instead.
 1.34  10-Apr-2009  apb 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.
 1.33  01-Mar-2009  isaki Make configlinksinstall work correctly even if CONFIGSYMLINKS is
defined but empty.
 1.32  11-Sep-2006  dbj branches: 1.32.24; 1.32.26; 1.32.28;
fixes for installing into a case insensitive $DESTDIR
when files may have hard links to a a name that only differs by case
- change install to unconditionally remove its temporary file
when installing hard links with -r. This avoids problems when
built with posix rename(2) semantics and reinstalling an existing
hard link.
- rework hard link targets in bsd.man.mk and bsd.links.mk
to use makefile constructs instead of shell constructs
- always reinstall hard links that may have case conflicts, even
when MKUPDATE=yes, this ensures that they get added to METALOG
- remove man pages which were hard linked to themselves in libform
- remove improper hard link command for existing man page in libkrb5
- fix libl's makefile to include bsd.lib.mk at end
- remove shell quoting in link target for test's [.1 man page
 1.31  16-Mar-2006  jwise Now that we have real build system support for syspkgs, remove someone's
half-implemented idea of building `syspkgs' (really a few giant blobs of the
same granularity of the old sets) using install(1).
 1.30  31-Aug-2005  lukem Fix parallel build race in CONFIGSYMLINKS & CONFIGLINKS by
makeing configlinksinstall depend upon configfilesinstall.
 1.29  25-Jun-2004  christos branches: 1.29.2;
check for defined before checking for empty to ease a 1.6 transition
 1.28  16-May-2004  lukem Support CONFIGLINKS, which is similar to LINKS, except that they're installed
with the 'configinstall' target instead of the 'install' target.
 1.27  13-May-2004  lukem Add CONFIGFILES & CONFIGSYMLINKS; similar semantics to FILES & SYMLINKS
yet installed by 'configinstall' not 'install'.
(CONFIGFILES uses FILES{DIR,MODE,OWN,GRP,NAME}{,_*} as per FILES)
 1.26  29-Jan-2004  lukem Cosmetically tweak how .PHONY is used by (generally) providing it as a source,
instead of using it as a target with all the rules as its sources.
 1.25  07-Nov-2003  lukem Support MAKEVERBOSE more effectively.
 1.24  28-Jul-2003  lukem pull in <bsd.sys.mk> for TOOL_* incase this is used with USETOOLS=never
 1.23  20-Jul-2003  lukem <bsd.init.mk> is a good idea
 1.22  20-Jul-2003  lukem LINKS: use stat -qf '%d %i' $l to read the device & inode # of the source
and target (and rely upon a non-zero exit value to indicate a missing file),
instead instead of unconditionally installing the link.

SYMLINKS: use stat -qf '%Y' $l to read a symlink's target (and rely upon
a non-zero exit value to indicate a missing file or non-symlink),
instead of test -h $l && ls -ld $l | awk '{print $NF}' , since
the former is quicker and more concise.

This resolves PR toolchain/16885 from David Laight.
 1.21  22-Oct-2002  perry Pass 1 of SYSPKG changes to automatically add tags=pkgname_pkg to METALOG.
Not quite ready for prime time yet.
 1.20  24-Aug-2002  lukem don't bother with "rm -f $$t" before ${INSTALL_LINK} or ${INSTALL_SYMLINK},
as they default to using install(1) -r.
the rm can cause problems in certain situations, such as moving a library or
shared linker that install(1) depends upon to another location and replacing
it with a (sym)link.
 1.19  30-Apr-2002  sommerfeld make(1) specifies, regarding :: targets:
Sources for a target do not accumulate over dependency lines
when this operator is used.

An unstated implication of this is that when parallel builds are done,
each separate instance of the target can be scheduled independantly.
As a result, the linksinstall target with commands could be executed
too early during a parallel build since they didn't actually have a
dependancy on "realinstall".

To fix this, correct the linksinstall:: realinstall dependancy by
eliminating the command-less linksinstall target, and moving the
dependancy to the other linksinstall target.
 1.18  21-Mar-2002  pk `linksinstall' cannot be issued in parallel with other realinstall sources.
 1.17  11-Feb-2002  mycroft Don't use .PHONY for targets that are actually installed. Instead use force
dependencies. (Among other things, `make -t install' does something vaguely
sensible now.)
 1.16  19-Nov-2001  perry replace instances of ln with ${INSTALL_LINK} and ${INSTALL_SYMLINK}
 1.15  02-Nov-2001  tv Improve readability and reduce redundant redundancy in share/mk; add some
descriptive comments. The guts of hostprog, lib, and prog are mostly
unchanged; this will be done in another pass.

Make several things work properly with UNPRIVILEGED set, and make the
install-time "cmp" logic work for MANZ. Also reimplement INCS{DIR,NAME}_foo
(requested by wiz) in a backwards compatible way.

Reviewed by christos.
 1.14  07-Jul-2000  cgd test -h, not test -L.
 1.13  23-Apr-2000  simonb Change SYMLINKS so that the link isn't recreated if it already points
to the right place (much the same as bsd.obj.mk already does).
 1.12  26-Feb-2000  mycroft Make sure the `rm' and `ln' for a link are in the same shell command.
(The reason for this is obscure...)
 1.11  10-Feb-2000  drochner fix link creation:
-put "echo"s for the daughter Makefile into a subshell to get them all
into the Makefile (instead of stdout - should fix PR misc/9336 by
Bernd Ernesti)
-change operator for "realall" back to ":" - rules are supposed to
accumulate, and "::" clashes with the definition in <bsd.own.mk>
-call sub-make with the "all" target to make sure we don't get just
the first rule
 1.10  24-Jan-2000  mycroft Fix a bogon that caused some symlinks to not be installed.
 1.9  22-Jan-2000  mycroft Adjust symlink crap for all/realall changes.
 1.8  31-Dec-1998  castor Change make to ${MAKE} to allow standard make to be overridden.
 1.7  10-May-1997  mycroft Always rebuild links, since dependencies don't DTRT.
 1.6  09-May-1997  mycroft Automatically add the .c files corresponding to .l and .y files to DPSRCS.
Automatically add DPSRCS to CLEANFILES.
 1.5  07-May-1997  mycroft Various simplifications.
 1.4  06-May-1997  mycroft Make most of the install targets .PRECIOUS.
 1.3  06-May-1997  mycroft Add a pile of missing .PHONYs.
 1.2  28-Mar-1997  christos Don't make bogus dependencies with symlinks sources.
 1.1  24-Mar-1997  christos make rules update:
- add UPDATE and BUILD features
- add new FILES, INCS, SCRIPTS variables
- allow man pages source installation
 1.29.2.1  31-Aug-2005  tron Pull up following revision(s) (requested by lukem in ticket #726):
share/mk/bsd.links.mk: revision 1.30
Fix parallel build race in CONFIGSYMLINKS & CONFIGLINKS by
makeing configlinksinstall depend upon configfilesinstall.
 1.32.28.1  06-Jun-2009  bouyer branches: 1.32.28.1.2;
Pull up following revision(s) (requested by snj in ticket #790):
share/mk/bsd.lib.mk: revision 1.298
share/mk/bsd.man.mk: revision 1.100
share/mk/bsd.hostprog.mk: revision 1.55
distrib/sets/maketars: revision 1.66
share/zoneinfo/Makefile: revision 1.43
share/mk/bsd.kmodule.mk: revision 1.19
usr.bin/xinstall/xinstall.c: revisions 1.106 - 1.108 via patch
share/mk/bsd.prog.mk: revision 1.241
share/dict/Makefile: revision 1.17
share/mk/bsd.README: revision 1.249
distrib/common/parselist.awk: revision 1.16
share/mk/bsd.links.mk: revision 1.34
Explicitly sort entries on preparing set files from METALOG.
METALOG could have different order due to install(1) race
on parallel builds, and mtree(8) doesn't sort files.
Should fix inconsistent shared sets among builds as seen in
/pub/NetBSD-daily/netbsd-5/200904010000Z/shared/ and
/pub/NetBSD-daily/netbsd-5/200904010002Z/shared/ dirs.
Okay'ed by snj@.
Changes for installing with a metalog:
* When installing hard links and using a metalog, if -o, -g, -m, or -f
args were explicitly specified on the command line, then believe them,
but do not implicitly believe uname/gname/mode/flags from the file
system.
* Output fields in the same order used by mtree.
Fix -Wshadow -Wcast-qual issues
Re-calculate size and digestresult after stripping, to ensure that
correct values appear in the metalog.
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.
 1.32.28.1.2.1  21-Apr-2010  matt sync to netbsd-5
 1.32.26.1  13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.32.24.1  06-Jun-2009  bouyer Pull up following revision(s) (requested by snj in ticket #790):
share/mk/bsd.lib.mk: revision 1.298
share/mk/bsd.man.mk: revision 1.100
share/mk/bsd.hostprog.mk: revision 1.55
distrib/sets/maketars: revision 1.66
share/zoneinfo/Makefile: revision 1.43
share/mk/bsd.kmodule.mk: revision 1.19
usr.bin/xinstall/xinstall.c: revisions 1.106 - 1.108 via patch
share/mk/bsd.prog.mk: revision 1.241
share/dict/Makefile: revision 1.17
share/mk/bsd.README: revision 1.249
distrib/common/parselist.awk: revision 1.16
share/mk/bsd.links.mk: revision 1.34
Explicitly sort entries on preparing set files from METALOG.
METALOG could have different order due to install(1) race
on parallel builds, and mtree(8) doesn't sort files.
Should fix inconsistent shared sets among builds as seen in
/pub/NetBSD-daily/netbsd-5/200904010000Z/shared/ and
/pub/NetBSD-daily/netbsd-5/200904010002Z/shared/ dirs.
Okay'ed by snj@.
Changes for installing with a metalog:
* When installing hard links and using a metalog, if -o, -g, -m, or -f
args were explicitly specified on the command line, then believe them,
but do not implicitly believe uname/gname/mode/flags from the file
system.
* Output fields in the same order used by mtree.
Fix -Wshadow -Wcast-qual issues
Re-calculate size and digestresult after stripping, to ensure that
correct values appear in the metalog.
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.

RSS XML Feed