[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

LSB LCD: finding packages for bulk lib*.so and bin/* filenames in bulk.



[please don't CC: me.  I'm reading & posting through a mail<->news gateway]

Some introduction:
------------------

As some of you know the Linux Standard Base http://www.linuxbase.org/ is
working on some standards for applications on Linux systems.

I (and a few others) am working on a Least Common Denomiator (LCD) package
format to quickly provide a way to install LSB compliant applications on
compliant distro implementations.

One of the parts of the reference implementations we are working on is the
meta-packages that say "This is a LSB-compliant distro implementation".  If
this package is installed then the applications can depend on "lsb" and be
assured of a system environment they can work in.

Look at the archive of our mailing list
http://www.geocrawler.com/lists/3/SourceForge/7337/0/ to see what we are
really up to.  I posted a FAQ a couple of months ago 
http://www.geocrawler.com/archives/3/7337/2001/3/0/5258616/ and only a few
things have changed since then.


My question
-----------

The LSB has a MySQL data base of the files and commands that are part of a
compliant implementation.  I hope to use this DB to autogenerate the
depends: list of the meta-package.

However either I am missing something or this is a compute intensive job. 
For example if I am searching for the package that contains the command
"tr" then I search for "dpkg --search bin/tr".  But that gets me 
	$ dpkg -S bin/tr   
	xscreensaver: /usr/X11R6/bin/triangle
	shellutils: /bin/true
	textutils: /usr/bin/tr
	traceroute: /usr/sbin/traceroute
	ispell: /usr/bin/tryaffix
	xscreensaver: /usr/X11R6/bin/truchet
	groff: /usr/bin/troff
	netbase: /usr/bin/tracepath6
	tree: /usr/bin/tree
	netbase: /usr/bin/tracepath
	netbase: /usr/bin/traceroute6
	transfig: /usr/X11R6/bin/transfig
	tcpd: /usr/sbin/try-from

AFICT dpkg --search does not honor $:
	$ dpkg -S bin/tr\$
	dpkg: *bin/tr$* not found

but grep does:
	$ dpkg -S bin/tr | grep "bin/tr$"
	textutils: /usr/bin/tr

I can then use the same techniques as dpkg-shlibdeps (potato version :) to
find the package name and put that in my depends list.

But, I have to repeat this for every bin/* and lib/* entity mandated in the
LSB DB.  It takes a while.  Is there a faster way?  I've tried a few bulk
searches by asking dpkg -S to find more than one file but there are some
common prefixes in the LSB mandated commands too :(.

Also, how do I query for diverted entities like awk?

	Albert.




--
Albert den Haan, Lead Developer @ Linux Port Team . Corel Corporation
albertd@corel.com  (613) 728-0826 x 5318
-- 
The address in the headers is not the poster's real email address.  Do not send
private mail to the poster using your mailer's "reply" feature.  CC's of mail 
to mailing lists are OK.  Problem reports to "postmaster@umail.corel.com".  
The poster's email address is "albertd@corel.com".



Reply to: