tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Setlist maintenance
Our static setlists enable us to cross-build easily on other
platforms, but can sometimes be a double-edged sword - they are
difficult to maintain, can be unintuitive in what has to be added, and
can be prone to problems with definitions and duplication in other
sets. I doubt anyone has properly managed the syspkg names in ages,
if at all.
We've also seen another instance lately where the compat libs raise
other problems for everybody's education.
Some time ago I wrote a utility that is designed to be added to the
*.mk infrastructure, which uses the Makefile definitions to produce
output for what the set lists should look like.
I've put a tar file of the gensetlist utility at:
http://www.netbsd.org/~agc/gensetlist-20101031.tar.gz
I'm not proposing it be added to NetBSD, merely hoping that its
presence could make set list maintenance easier.
If anyone reading this finds it useful:
+ all that needs to be done is to add the bsd.setlist.mk file to
the Makefile, and then type "make setlist"
+ please be aware that the entries need checking, I may have
left some definitions out, or got some wrong. As far as I can tell,
this generates the correct set lists for netpgp and related files.
Like I say, I'm not proposing that this be added.
+ it *could* be extended to generate the set lists dynamically.
This is left (1) as an exercise for the reader, (2) because
I fully realise that not everyone wants that, and (3) because if
that was done, then the definitions in the third column of the
set lists are no longer relevant or needed. It also paves the
way for smaller, custom generation of NetBSD images.
Regards,
Alistair
This is a contrived example of what the gensetlist utility does:
% make t
(cd lib && make setlist)
/usr/local/src/gensetlist/lib/../gensetlist -v LIB=netpgp -v SHLIB_VERSION=3.0.
-v LIBDIR=/usr/lib -v MAN=libnetpgp.3 -v MANDIR=/usr/share/man -v INCS=netpgp.h
-v INCSDIR=/usr/include -v MLINKS= -v SYMLINKS= -D MKCRYPTO -c crypto
[src/distrib/sets/lists/base/ad.mips64eb]
./usr/lib/64/libnetpgp.so.3 base-compat-shlib
compat,pic,crypto
./usr/lib/64/libnetpgp.so.3.0 base-compat-shlib
compat,pic,crypto
./usr/lib/o32/libnetpgp.so.3 base-compat-shlib
compat,pic,crypto
./usr/lib/o32/libnetpgp.so.3.0 base-compat-shlib
compat,pic,crypto
[src/distrib/sets/lists/base/ad.mips64el]
./usr/lib/64/libnetpgp.so.3 base-compat-shlib
compat,pic,crypto
./usr/lib/64/libnetpgp.so.3.0 base-compat-shlib
compat,pic,crypto
./usr/lib/o32/libnetpgp.so.3 base-compat-shlib
compat,pic,crypto
./usr/lib/o32/libnetpgp.so.3.0 base-compat-shlib
compat,pic,crypto
[src/distrib/sets/lists/base/md.amd64]
./usr/lib/i386/libnetpgp.so.3 base-compat-shlib
compat,pic,crypto
./usr/lib/i386/libnetpgp.so.3.0 base-compat-shlib
compat,pic,crypto
[src/distrib/sets/lists/base/md.sparc64]
./usr/lib/sparc/libnetpgp.so.3 base-compat-shlib
compat,pic,crypto
./usr/lib/sparc/libnetpgp.so.3.0 base-compat-shlib
compat,pic,crypto
[src/distrib/sets/lists/base/shl.mi]
./usr/lib/libnetpgp.so base-crypto-shlib crypto
./usr/lib/libnetpgp.so.3 base-crypto-shlib crypto
./usr/lib/libnetpgp.so.3.0 base-crypto-shlib crypto
[src/distrib/sets/lists/comp/mi]
./usr/include/netpgp.h comp-c-include crypto
./usr/share/man/cat3/libnetpgp.0 comp-crypto-catman
.cat,crypto
./usr/share/man/html3/libnetpgp.html comp-crypto-htmlman
.html,crypto
./usr/share/man/man3/libnetpgp.3 comp-crypto-man
.man,crypto
./usr/lib/libnetpgp.a comp-crypto-lib crypto
./usr/lib/libnetpgp_g.a comp-crypto-lib debuglib,crypto
./usr/lib/libnetpgp_p.a comp-crypto-proflib profile,crypto
./usr/libdata/lint/llib-lnetpgp.ln comp-crypto-lintlib
lint,crypto
[src/distrib/sets/lists/comp/shl.mi]
./usr/lib/libnetpgp_pic.a comp-crypto-piclib crypto
./usr/libdata/debug/usr/lib/libnetpgp.so.3.0.debug
comp-crypto-debug debug,crypto
[src/distrib/sets/lists/comp/ad.mips64eb]
./usr/lib/64/libnetpgp.a comp-c-lib compat,crypto
./usr/lib/64/libnetpgp.so comp-sys-shlib compat,crypto
./usr/lib/64/libnetpgp_g.a comp-c-proflib compat,debuglib,crypto
./usr/lib/64/libnetpgp_p.a comp-c-proflib compat,profile,crypto
./usr/lib/64/libnetpgp_pic.a comp-c-piclib compat,pic,crypto
./usr/libdata/debug/usr/lib/64/libnetpgp.so.3.0 comp-compat-shlib
compat,pic,debug,crypto
./usr/lib/o32/libnetpgp.a comp-c-lib compat,crypto
./usr/lib/o32/libnetpgp.so comp-sys-shlib compat,crypto
./usr/lib/o32/libnetpgp_g.a comp-c-proflib compat,debuglib,crypto
./usr/lib/o32/libnetpgp_p.a comp-c-proflib compat,profile,crypto
./usr/lib/o32/libnetpgp_pic.a comp-c-piclib compat,pic,crypto
./usr/libdata/debug/usr/lib/o32/libnetpgp.so.3.0
comp-compat-shlib compat,pic,debug,crypto
[src/distrib/sets/lists/comp/ad.mips64el]
./usr/lib/64/libnetpgp.a comp-c-lib compat,crypto
./usr/lib/64/libnetpgp.so comp-sys-shlib compat,crypto
./usr/lib/64/libnetpgp_g.a comp-c-proflib compat,debuglib,crypto
./usr/lib/64/libnetpgp_p.a comp-c-proflib compat,profile,crypto
./usr/lib/64/libnetpgp_pic.a comp-c-piclib compat,pic,crypto
./usr/libdata/debug/usr/lib/64/libnetpgp.so.3.0 comp-compat-shlib
compat,pic,debug,crypto
./usr/lib/o32/libnetpgp.a comp-c-lib compat,crypto
./usr/lib/o32/libnetpgp.so comp-sys-shlib compat,crypto
./usr/lib/o32/libnetpgp_g.a comp-c-proflib compat,debuglib,crypto
./usr/lib/o32/libnetpgp_p.a comp-c-proflib compat,profile,crypto
./usr/lib/o32/libnetpgp_pic.a comp-c-piclib compat,pic,crypto
./usr/libdata/debug/usr/lib/o32/libnetpgp.so.3.0
comp-compat-shlib compat,pic,debug,crypto
[src/distrib/sets/lists/comp/md.amd64]
./usr/lib/i386/libnetpgp.a comp-c-lib compat,crypto
./usr/lib/i386/libnetpgp.so comp-sys-shlib compat,crypto
./usr/lib/i386/libnetpgp_g.a comp-c-proflib compat,debuglib,crypto
./usr/lib/i386/libnetpgp_p.a comp-c-proflib compat,profile,crypto
./usr/lib/i386/libnetpgp_pic.a comp-c-piclib compat,pic,crypto
./usr/libdata/debug/usr/lib/i386/libnetpgp.so.3.0
comp-compat-shlib compat,pic,debug,crypto
[src/distrib/sets/lists/comp/md.sparc64]
./usr/lib/sparc/libnetpgp.a comp-c-lib compat,crypto
./usr/lib/sparc/libnetpgp.so comp-sys-shlib compat,crypto
./usr/lib/sparc/libnetpgp_g.a comp-c-proflib compat,debuglib,crypto
./usr/lib/sparc/libnetpgp_p.a comp-c-proflib compat,profile,crypto
./usr/lib/sparc/libnetpgp_pic.a comp-c-piclib compat,pic,crypto
./usr/libdata/debug/usr/lib/sparc/libnetpgp.so.3.0
comp-compat-shlib compat,pic,debug,crypto
(cd netpgp && make setlist)
/usr/local/src/gensetlist/netpgp/../gensetlist -v MAN=netpgp.1 -v
MANDIR=/usr/share/man -v PROG=netpgp -v BINDIR=/usr/bin -v MLINKS=netpgp.1\
limit.1\ netpgp.1\ alias.1\ netpgp.1\ bg.1\ netpgp.1\ dirs.1 -v
SYMLINKS=/usr/bin/tar\ /usr/bin/gpg -D MKCRYPTO -c crypto
[src/distrib/sets/lists/base/mi]
./usr/bin/netpgp base-crypto-bin crypto
./usr/bin/gpg base-crypto-bin crypto
[src/distrib/sets/lists/comp/mi]
./usr/libdata/debug/usr/bin/netpgp.debug comp-crypto-debug
debug,crypto
./usr/share/man/cat1/netpgp.0 comp-crypto-catman
.cat,crypto
./usr/share/man/html1/netpgp.html comp-crypto-htmlman
.html,crypto
./usr/share/man/man1/netpgp.1 comp-crypto-man .man,crypto
./usr/share/man/cat1/limit.0 comp-crypto-catman
.cat,crypto
./usr/share/man/html1/limit.html comp-crypto-htmlman
.html,crypto
./usr/share/man/man1/limit.1 comp-crypto-man .man,crypto
./usr/share/man/cat1/alias.0 comp-crypto-catman
.cat,crypto
./usr/share/man/html1/alias.html comp-crypto-htmlman
.html,crypto
./usr/share/man/man1/alias.1 comp-crypto-man .man,crypto
./usr/share/man/cat1/bg.0 comp-crypto-catman
.cat,crypto
./usr/share/man/html1/bg.html comp-crypto-htmlman
.html,crypto
./usr/share/man/man1/bg.1 comp-crypto-man .man,crypto
./usr/share/man/cat1/dirs.0 comp-crypto-catman
.cat,crypto
./usr/share/man/html1/dirs.html comp-crypto-htmlman
.html,crypto
./usr/share/man/man1/dirs.1 comp-crypto-man .man,crypto
%
Home |
Main Index |
Thread Index |
Old Index