[packagekit] Cross-distro package mapping and matching?

Mike McGrath mmcgrath at redhat.com
Sat Jun 6 19:47:07 PDT 2009


On Sun, 7 Jun 2009, Sebastian Pipping wrote:

> Hello!
>
>
> Git is "dev-util/git" in Gentoo but "git-core" in Debian.
> Is there any project/library/tool that does package name mapping?
> Is such a service part of or planned for PackageKit?
>

Not that I'm aware of and I don't believe anything is planned.  We even
see, rarely, package names that are different between Fedora and
RHEL/CentOS.

>
> I am working on extending Smolt [1] (basic hardware tracker, think
> "what soundcard do I run") into a software tracker (think "what
> software do I have installed") suitable for the needs of Gentoo under
> the umbrella of Google Summer of Code 2009.  This goal will extend to
> cross-distro software tracking in the long run, maybe even the
> short run.
>

Have you solved the performance issue?

> To be able to count Git from different distros into the same bucket
> I will need a package mapping/matching facility.  My current vision
> would use an interlingua, a language of distro-agnostic package
> identifiers.  Someone recommended CPE [2] (Common Platform Enumeration)
> for that langauge in chat today.  A CPE URI for any version of Git
> could be
>
>   cpe://a:git-scm:git
>
> So if we had a mapping from "dev-util/git" to "cpe://a:git-scm:git" for
> Gentoo and a mapping from "git-core" to "cpe://a:git-scm:git" for
> Debian, we could count both into the Git bucket, allowing us to
>
>   - collect cross-distro metrics of greater significance
>   - fairly compare the actual number of packages accross distros
>   - better understand needs and differences among distros
>   - get distros one more step closer together
>
> To not oversimplify, a slight extra complexity is added by compile time
> configuration flags ("use flags" in Gentoo) for source-based distros:
>
>   For example if the package "app-admin/webalizer" is compiled with
>   use flag "geoip" I might want it to map to "cpe://a.sysd:geolizer" [3]
>   instead of "cpe://a.mrunix:webalizer" [4], or maybe I want both.
>
> As Smolt is written in Python at least a Python API is required.
>
>   - Is anybody working on such a tool?
>   - Are there possibilites for collaboration?
>
> I'm looking forward to your feedback!
>


I'd almost say don't bother with cross package tracking.  It greatly
complicates things, increases maintanence costs, and the value you gain
from it is questionable.  After all, what is in one git package in one
distro might not match exactly the package in another distro.  Fedora
packages each nagios-plugin seperately and I don't think any other distros
do that.  I suspect there are hundreds of examples like this.  And at the
end of the day, unless you check every package pretty regularly, they'll
get out of sync anyway as package names can change.

That's my quick cost/benefit analysis of it.

	-Mike



More information about the PackageKit mailing list