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

Re: asking for advice: all dependencies incl. version numbers

2013/8/23 Joachim Breitner <nomeata@debian.org>
Dear Illes,

Am Donnerstag, den 22.08.2013, 17:47 +0200 schrieb FARKAS, Illes:

> This is a researcher asking for advice.
> I'd like to download/parse for each version of each debian package
> which other package versions it depends on.
> Do you think this information available in managable formats?

It is all in the Packages file, e.g.

It is a simple text file format and there are parsing libraries for
various programming language around. If you are more specific about your
goals and needs, I can give more specific advise.

Dear Joachim, Thanks for your detailed replies.

If I'm not mistaken, then the file you mention lists the dependencies of the *current* package versions. For example, it tells that version "0.0.13-2+b1" of the package called "0ad" depends on the following versions of the following packages: 0ad-data (>= 0.0.13), 0ad-data (<= 0.0.13-2), 0ad-data-common (>= 0.0.13), etc. 

According to the developer info page of the package (http://packages.qa.debian.org/0/0ad.html) there have been also previous versions of the package "0ad", for example, versions "0.0.12" and "0.0.11". I would be curious to know too the list of package versions that 0ad-0.0.12, 0ad-0.0.11, etc depend on. Since I'm trying to find a standardized way of doing this for all packages/versions, I stayed at the above URL and I looked into the "buildd logs" and "RDF metadata" (links in the right navigation area). But it seems these are not the files [droids] I am looking for :-)

So the best solution I can think of right now is to download all Packages.bz2 files I can find at debian. These may not contain all versions of all packages, but they will probably contain most of the important versions of most packages. If you have any other suggestions, I'd be happy to learn from those.

> Have you seen similar work before?

The researches at IRILL have done lots of work on Package relationsships
and also created useful tools to investigate that. I don’t have a good
entry page to send you to, but I guess http://www.mancoosi.org/edos/ and
http://www.mancoosi.org/ are of relevance.

Thanks. I found that "Managing the Complexity of Large Free and Open Source Package-Based
Software Distributions" (PDF at http://goo.gl/NTPqlE) describes the project best. By the way, which is your favorite paper from IRILL?

Joachim "nomeata" Breitner
Debian Developer
  nomeata@debian.org | ICQ# 74513189 | GPG-Keyid: 4743206C
  JID: nomeata@joachim-breitner.de | http://people.debian.org/~nomeata

2013/8/23 Johannes Schauer <j.schauer@email.de>

Quoting FARKAS, Illes (2013-08-22 17:47:57)
> I'd like to download/parse for each version of each debian package which
> other package versions it depends on. 
> Do you think this information available in managable formats?

In addition to the information Joachim already gave, let me specifically point
you at dose3. It is a framework for working with dependencies and allows you to
parse Packages.bz2 and Sources.bz2 files, create all kinds of dependency graphs
and analyze them and includes a solver for package relationships.

Hi, Johannes (josch). Thanks for your help. The more complex features seem to be the ones I'm interested in.
> Have you seen similar work before?

Joachim was pointing you at edos. There exists the tool edos-debcheck (or
edos-distcheck as a more general tool) in the main archive. But instead you
might want to look at the dose3 tools which supersede the edos tools. More
specifically you want to look at the binary packages built from the source
package dose3. The dose-extra binary package contains a tool called ceve which
allows you to build many different kinds of dependency graphs from a
Packages.bz2 file. Maybe this gives you the information you need. 

Contact me if you have any trouble.

Thanks, I'll do.


cheers, josch


Reply to: