autoconf
[Top][All Lists]
Advanced

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

Re: A rosetta stone of package names?


From: Richard Ash
Subject: Re: A rosetta stone of package names?
Date: Sat, 26 Jul 2008 15:07:42 +0100

On Sat, 2008-07-26 at 19:04 +0800, Tim Post wrote:
> > No, but I do know that going the other way round, i.e., from distro
> > packaging tools like rpm or apt, to building sources already works very
> > nicely.  For example "apt-get source ..." or "apt-get build-dep ...".
> 
> That's what I'm trying to translate. libfoo-dev or libfoo-devel, or
> libfoo9-dev or -devel? If I am not root, what is the URL to get the
> sourceball in order to use the library without bugging root to install
> it?
> 
> Such a look up table would be priceless, I think :) I have had zero luck
> in finding one.

A compiled table would be large, cumbersome and perennially out of date.
What you could do would be to associate each library with it's home page
relatively easily (in 99% of cases. A few are orphaned etc, but most
have a home on the web somewhere).
Armed with that you should be able to search the host distribution's
package databases to locate the available packages. This is the process
I would go through manually if faced with a configure script error, and
it isn't usually hard (assuming your distribution actually has a
sensible package database system) to find what you want. How to get it
is a much bigger problem, given the poor availability of packages for
many distributions.

The problem you are trying to solve is mostly to do with the limitations
of package management systems and a lack of semantic guide-lines for
many distributions. If there is no way to predict what a package might
be called from it's upstream release names and numbers (which appears to
be the case for RPM-based distributions) then the problem is essentially
insoluble.
For more advanced package managers it is always possible to convert a
release name into a package dependency with a maximum of one search (to
resolve which category the package is in for the few cases that have a
duplicate name). In these cases you could write a shell script (or a
macro) that invoked the host platform's package search facilities to
locate the relevant packages and list them (e.g. (on Gentoo) emerge -s
libfoo to get the full category and name for libfoo, then spit out
>=dev-libs/libfoo-2.0.5 as the required package if you need specific
versions).
Note that this could be slow, so I'd want it to be optional if I know
what I'm doing, and of course you need to know what distribution you are
running on first (which is a lot harder than you think).

Richard





reply via email to

[Prev in Thread] Current Thread [Next in Thread]