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