tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Setlist maintenance
Am 31.10.10 20:52, schrieb Alistair Crooks:
> 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.
In the past, having a vehicle like this would have helped me a lot. I
add new stuff to NetBSD, but I don't have all arches at hand. So in
consequence I fail to update some of the many lists correctly.
I would really favour if we could a mechanism like this in.
>
> 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