pkgsrc tips (Was Re: Proper choice of package management strategy)

Zeb Packard cyphercell4 at gmail.com
Sun Jan 21 15:29:13 PST 2007


My whole experience with sed and awk amount to cut, copy and paste, so
any help is very nice.

The idea is that once we have this list  we can then run an 'ls -al
[item in list]' and get results like.

>ls -al /lib/libhistory.so.5
lrwxrwxrwx 1 readline readline 17 Jan  9 06:13 /lib/libhistory.so.5 ->
libhistory.so.5.1

now we know that readline is required to install bash. This kind of
information can be added to a database dynamically. Then at some point
in the future if we wish to update readline we can query the DB and
list all items that require readline to install. For me I can track
package versions because I added the package version as description to
my package users. So, I can use /etc/passwd like

root at linux:/# cat /etc/passwd | grep readline
readline:x:10015:10015:readline-5.1:/usr/src/readline:/bin/bash
&
root at linux:/# cat /etc/passwd | grep bash:
bash:x:10019:10019:bash-3.1:/usr/src/bash:/bin/bash

then I'm sure some sed and awk magic can be worked here before placing
things in the DB, but the results would look like

bash-3.1 required readline-5.1 when installed

or more importantly

the following program(s) requre(d) readline-5.1
please test them after upgrading to ensure no dependencies were broken

bash-3.1
...
... etc.

Finally, the result is that when going beyond BLFS you build and
maintain your own package tree and can trouble shoot broken
dependecies in a reasonable fashion, even as they occur.



More information about the lfs-support mailing list