"-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
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
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.
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.
* 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).
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.
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.
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.
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