Home | History | Annotate | Download | only in sets
History log of /src/distrib/sets/makeplist
RevisionDateAuthorComments
 1.23  08-Nov-2023  christos More conservative umask
 1.22  08-Nov-2023  christos Set the file creation mask consistently because the files these scripts
create can become part of an iso image.
 1.21  18-Oct-2021  uki Replace @dirrm to @pkgdir in packing list of syspkg
 1.20  02-Dec-2009  apb Patches from Lloyd Parkes in PR 41684, plus my changes:
* ${HOSTNAME} is special to bash, so rename the variable to HOSTNAME_CMD.
* Don't use "cd -".
* Don't use only comments in the else part of an if statement.
 1.19  04-Jan-2006  apb branches: 1.19.20;
Add a new "-I realprefix" arg. When making syspkgs, we need to use
"-P ${DESTDIR} -I /". ("-I" chosen for similarity to pkg_create.)

XXX: makeplist seems to be quite broken, in that it looks at the files
and directories that are actually present in DESTDIR, whereas I
thought its job was to provide an list of what *should* be there,
regardless of what is *actually* there. Fixing this seems to require
a change to the format of the "lists" files, so that they can
unambiguously identify directories.

Reviewed by agc
 1.18  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.17  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.16  12-Jan-2005  dyoung One of my users stumbled over a bug: src/distrib/sets/makeplist
uses find(1) in a non-POSIX way. The trouble is that -maxdepth is
not an option for POSIX find(1). His NetBSD 1.6.2 system tripped
over that. I converted the -maxdepth uses to -prune, which is
POSIX-compatible.

While I was in makeplist, I wrote a comment about the xargs/find/read
cleverness that I use to generate the @dirrm directives.
 1.15  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.14  23-Jan-2004  dyoung `-p' takes an argument, so fix the getopts optstring.
 1.13  03-Jan-2004  lukem rename all the <bsd.own.mk> derived variables to uppercase, and export
them to the environment.
 1.12  29-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.11  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.10  17-Oct-2003  dyoung Awk prefers regex escapes to look like \\ instead of \. Go figure.
This patch squashes hundreds of annoying warning messages:

awk: cmd. line:1: warning: escape sequence `\.' treated as plain `.'
 1.9  04-Aug-2003  mrg add initial support for gcc3
 1.8  23-Jun-2003  dyoung Fix typo: osreleasese -> osreleases.

Optimizations: do not re-invoke make(1) unnecessarily, it takes a
full second to bootstrap it on my on my anemic PC. Also, use
xargs/find instead of awk/system()/shell to classify each package
path as a file or directory.

For consistency, adopt similar variables names as makeflist uses.

Use the set-list routines in sets.subr instead of duplicating code.
 1.7  12-Jun-2003  agc Bring the machine and arch-level decision of shared libs vs none up to date,
and also bring up to date the ELF vs a.out knowledge.

Also, sort the directories into reverse alphabetical order, and add them to
the generated PLIST file after any file entries.

Grab the comments into a single file from the individual syspkg set entries.

Grab the descriptions into a single file from the individual syspkg set entries.

Add an attributes file to which can be added attributes for system packages.
The "preserve" attribute has been implemented.

Add extra comments and descriptions for system packages which were missing.
 1.6  05-Jun-2003  agc Remove the leading "./" from all entries in the generated PLIST.

Make awk do more of the work - remove two egrep invocations.
 1.5  31-May-2003  dyoung Fix typo to show correct prefix for PLIST, s/\$plist/\$prefix/.
 1.4  31-May-2003  dyoung Spelling fix, s/makeflist/makeplist/
 1.3  23-Jul-2002  lukem set MAKE="${MAKE:-make} -j 1" to prevent problems where the output
of make -j N>1 would result in junk in various shell variables
 1.2  24-Mar-2002  bjh21 branches: 1.2.2;
Rename arm26 -> acorn26.
 1.1  26-Dec-2001  jwise Add two utility scripts used by syspkg from draga.com CVS:

listpkgs -- a utility script for syspkg maintainers. Given a pkgset name,
list all packages in that pkgset by parsing the src/distrib
set list files. Imported at draga.com revision 1.2.

Usage: ./listpkgs [-a arch] [-m machine] [-s setsdir] [-p prefix] setname
-a arch set arch (e.g, m68k, mips, powerpc)
-m machine set machine (e.g, amiga, i386, macppc)
-s setsdir directory to find sets
setname set to list packages for

makeplist -- a script called by <bsd.syspkg.mk>. Given a pkgset name
and a pkg name, output a valid PLIST for that package by
parsing the src/distrib set list files. Imported at
draga.com revision 1.2.

Usage: ./makeplist [-a arch] [-m machine] [-s setsdir] [-p prefix] setname pkgname
-a arch set arch (e.g, m68k, mips, powerpc)
-m machine set machine (e.g, amiga, i386, macppc)
-s setsdir directory to find sets
-p prefix prefix for created plist
setname pkgname set and package to build plist for
 1.2.2.1  23-Jul-2002  lukem Pull up revision 1.3 (requested by lukem):
set MAKE="${MAKE:-make} -j 1" to prevent problems where the output
of make -j N>1 would result in junk in various shell variables
 1.19.20.1  05-Oct-2008  mjf Sync with HEAD.

RSS XML Feed