Quantcast
Viewing all articles
Browse latest Browse all 5962

Resolve dependencies of an arbitrary Debian or Ubuntu package

Given an arbitrary Debian or Ubuntu package (specified via a PURL such as pkg:deb/debian/curl@7.50.3-1?arch=i386&distro=jessie), I'm hoping to resolve the package's full dependency tree including:

  • What packages would need to be installed to support the given package at run-time
  • Which packages come from 'Depends', 'PreDepends', 'Suggests', etc.
  • What is the full tree of relationships for all of those packages (which packages depend on which, which are 'direct' versus 'transitive' relative to the input package)
  • For all of these 'resolved' package dependencies, what is the relevant version constraint and what is the latest stable version that would be installed via a package manager on a target system 

This sort of information is available for packages in other ecosystems such as PyPi and NPM, both from native tooling and from external data aggregators such as deps.dev and libraries.io, but I haven't been able to find any equivalents for Debian-based systems.

I'm able to get this information using commands such as apt-cache policy <pkg_name> and apt-rdepends <pkg_name>, but only if I execute them on a system backed by the same architecture and distribution as the package that I'm interested in. It also gets tripped up by the packages that I've already installed on the system, which can make the results 'skewed' or truncated and not contain the entire list of necessary dependencies and latest-stable versions. I'm hoping to find a way to get this information without requiring my running system to match the given package.

My current thought is that I'll need to parse, store, and query the package dependency information from the various Debian distributions myself (most likely parsing the Packages archives provided by the distribution, such as this one for Debian Bookwork), but ideally there is a more off-the-shelf solution.


Viewing all articles
Browse latest Browse all 5962

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>