That looks like it is just what I'm looking for -- but it failed on the first 
build ID I tried it on. I'm running a recent Fedora build (3.6.10-4.fc18.i686) 
on a VM with libc-2.16.so version 2.16 (compiled with gcc version 4.7.2 
20121109). The Build ID for libc-2.16.so is 
cf7bdd994de74c7d4a0cff6a0293d96b64681e06, but when I navigate to this URL:

https://darkserver.fedoraproject.org/buildids/cf7bdd994de74c7d4a0cff6a0293d96b64681e06

I get a page that just contains [].

In this particular case I found the .rpm file at 
http://mirror.chpc.utah.edu/pub/fedora/linux/updates/18/i386/glibc-2.16-28.fc18.i686.rpm,
 but I'm curious as to why darkserver does not seem to be working in this case.

-----Original Message-----
From: Mark Wielaard [mailto:[email protected]] 
Sent: Friday, January 25, 2013 10:03 AM
To: Bruce Dawson
Cc: '[email protected]'; [email protected]
Subject: Re: Build IDs for finding packages

On Fri, Jan 25, 2013 at 05:47:37PM +0000, Bruce Dawson wrote:
> I've started creating my own mapping by crawling the Ubuntu 
> repositories, downloading each package, extracting the contents, and 
> creating a .build-id directory containing package URLs. However it 
> seems like this would be much more easily done by individual distributions.
> 
> Do Fedora or any other Linux distributions already have such a 
> database accessible? Given the URL of a .deb or .rpm file I can easily 
> extract the contents - I'd just like a more reliable way to find the 
> package from the Build ID.

For Fedora there is Darkserver https://darkserver.fedoraproject.org/
Which has an simple API:

* Call to find server version
  https://darkserver.fedoraproject.org/serverversion

 This will return a dictionary like {'server-version':'0.1'}

* Call to get GNU build-id details
  
https://darkserver.fedoraproject.org/buildids/0d0669e4ce89ffb335e36d41eacf3dfd04072e17

  This will return a dictionary of build-id details of 
0d0669e4ce89ffb335e36d41eacf3dfd04072e17

* Call to get GNU build-id details of an RPM
  https://darkserver.fedoraproject.org/rpm2buildids/argyllcms-1.3.6-1.fc16.i686

  This will return a dictionary of build-id details of the rpm 
argyllcms-1.3.6-1.fc16.i686

* Call to get download url of a RPM
  
https://darkserver.fedoraproject.org/package/argyllcms-debuginfo-1.3.6-1.fc16.i686

  This will return a download URL of the rpm in a dictionary.

Cheers,

Mark
_______________________________________________
elfutils-devel mailing list
[email protected]
https://lists.fedorahosted.org/mailman/listinfo/elfutils-devel

Reply via email to