History log of /netbsd-current/distrib/sets/syspkgdeps
Revision Date Author Comments
# 1.15 28-Jan-2006 apb

branches: 1.15.20;
No space in "function()", "command;" or "$(command)".
Requested by christos.


# 1.14 08-Jan-2006 apb

Oops, missed a few echo >&2 changes in previous commit.


# 1.13 08-Jan-2006 apb

Detect cyclic dependencies, and abort if any exist.

Approved by christos


# 1.12 08-Jan-2006 apb

Document input and output format for syspkgdeps and culldeps.

Approved by christos


# 1.11 08-Jan-2006 apb

When printing messages to stderr, always use
echo >&2 "${prog}: ..."

Approved by christos


# 1.10 04-Jan-2006 apb

* Add a special case for sets="all".
* Use dirname, don't try to use a shortcut that doesn't always work.
This uses the cheap implementation of dirname from sets.subr.
* Fix error in getopts string ("-p" option takes an arg).
* Explicitly use ${HOST_SH} to run culldeps script, because we might
be on a host where /bin/sh is not a POSIX shell.

Reviewed by agc


# 1.9 03-Jan-2006 apb

Ensure that (almost) all shell variables in distrib/sets/* scripts are
used with curly braces and quotes, as in "${var}".

Also ensure that command substitution is quoted, as in "$(command)", and
convert `command` to $(command).

Reviewed by agc


# 1.8 03-Jan-2006 apb

Add shell variables defined in sets.subr for almost all commands used
by scripts in distrib/sets/*. This is intended to be useful when cross
building. Only trivial commands like echo, cat, and rm are excluded
from this treatment.

While I am here, make ${MTREE} and ${DB} follow the pattern used by most
other such variables.

Reviewed by agc.


# 1.7 03-Jan-2006 apb

Move default values for several shell variables into sets.subr.

Reviewed by agc


# 1.6 20-Oct-2005 jmc

Set default vars so blank and unset both end up w. a reasonable default


# 1.5 23-Jul-2004 erh

Make all the sets scripts work even when not run from the directory that
they reside in.
Change any uses of dirname to use shell variable substitution instead.


# 1.4 02-Jan-2004 lukem

rename all the <bsd.own.mk> derived variables to uppercase, and export
them to the environment.


# 1.3 28-Dec-2003 lukem

Significant overhaul of how the sets are used:

* Add an optional third field to the sets file which is a list of
comma separated keywords that control if the line is printed.
Currently supported keywords
kerberos4 ${MKKERBEROS4} != no
kerberos ${MKKERBEROS} != no
lint ${MKLINT} != no
obsolete ${obsolete} != 0.
In this case, non obsolete files are not printed.
(This will allow future support for builds with variables such as
MKHESIOD and MKYP set to "no".)

* Use sh(1)'s getopts where appropriate, and otherwise cleanup the
various scripts.

* Move defaults for sets.subr from sets.defaults into sets.subr.
Move replicated code for determining stuff such as shlibs type
from various scripts into sets.subr.

* Merge the obsolete.*, krb.*, krb4.* and lint.* into the appropriate
main lists with the relevant third field keyword(s).


# 1.2 25-Nov-2003 dyoung

Factor duplicated code for setting variables such as machine_cpu
and machine_arch to their defaults into sets.defaults, and source
it at the top of each script.

Also, to be consistent with variable naming, s/arch/machine_arch/.

sets.defaults introduces two new variables, krb and krb4, which
will affect whether Kerberos- or Kerberos IV-only files are put
into the set lists.


# 1.1 23-Jun-2003 dyoung

For System Packages, two new utilities, a subroutine library, and
a new list:

sets.subr -- The set-listing code that is common to makeplist,
makeflist, and regpkg has moved here.

syspkgdeps -- Compute naive dependencies for system packages based
on directory containment. I.e., if package A contains
path /p/q, and package B contains path /p, then B is
considered a dependency of A. As Jim Wise remarks,
this is not quite right: system-package dependencies
should indicate a functional dependency. Nevertheless,
these naive dependencies protect us from orphaning
files when pkg_delete'ing system packages.

culldeps -- Helper for syspkgdeps. Removes redundant dependencies
from a dependencies table. Essentially does the opposite
of a transitive closure on a dependencies table: if
the table contains A depends-on B, B depends-on C, and
A depends-on C, then A depends-on C is removed because
it can be derived from the prior two dependencies.

deps -- Dependencies computed by syspkgdeps.


# 1.15.20.1 05-Oct-2008 mjf

Sync with HEAD.