[Slapt-get-user] Install package from file name?

Jason Woodward woodwardj at jaos.org
Sun Oct 9 20:29:36 EDT 2005


Hi Taj,

> I'm a developer with the Autopackage project
> <http://www.autopackage.org>, and am working integrating the Slackware
> Package Management system with Autopackage. In other words, I'm
> working on making software installed by Autopackage register with
> slapt-get. I'm also trying to get dependency resolution with native
> Slackware packages to work. This means that dependencies of
> Autopackaged software will first try to be retreived with slapt-get,
> then falling back to Autopackaged software if a Slackware package
> doesn't exist.

slapt-get is a layer upon the native "pkgtools" that Slackware provides.  So you probably want
to target pkgtools, ie look at the (install|remove|upgrade)pkg source.

> I have a few quesitons which somebody might be able to answer:
> 1. Is is possible to retreive a package with slapt-get if you only
> know a file that's in it. (E.g., I want to retreive a package that
> contains /usr/lib/libdes425.so.3).

The MANIFEST file (http://www.slackware.at/data/slackware-10.2/slackware/MANIFEST.bz2) is
available or /var/log/packages for those packages that are installed.

slapt-get does not attempt to merge the data from this file in with the existing data it uses
in the PACKAGES.TXT and CHECKSUMS.md5 files.  

> 2. Is is possible to have removepkg run a command after removing
> files? (Sort of like doinst.sh, except it runs when the package is
> removed).

Thats an often requested feature that you could send to Pat.  The more that ask the better.

> 3. How does slapt-get know a package is installed? Does it look at the
> package name, (e.g., mplayer) and see if that package is installed, or
> does it look for /usr/bin/mplayer to see if mplayer is installed.

It looks in the packages it discovered based on the contents of /var/log/packages

> 4. Is there a faster way to query /var/log/packages to see what
> package owns a file than
> grep `echo "$1"  | sed 's|^/||g'`$" /var/log/packages/*| awk -F: ' {
> print $1 }'|sed 's|/var/log/packages/||g'

thats about it.

> I'm sure I'll think of more, but that should get me started...
> 
> Thanks!

No problem, hope I was of some help.


take care,
jason

--
Jason Woodward
woodwardj at jaos.org




More information about the Slapt-get-user mailing list