Haris Okanovic fc6eb29137 opkg-utils: Add opkg-graph-deps
Usage: opkg-graph-deps [-h] [-d] [-o feed.dot] [-u <Base_feed_URL>]
<Paths_to_Packages_files>

Generates a dot formatted dependency graph of an IPK feed.

The feed is specified by a list of IPK index (Packages) files, which
are sourced in the order specified to build a dependency graph. Last
index to declare a package wins, but also generates a warning to stderr.
Only the flat index format is supported -- I.e. only Packages files,
not Packages.gz files.

Possible warnings:
 Duplicate package: package appears in more than one index.
 Broken dependency: no package satisfies a declared dependency.
 Self alias: package declares an alias on it's own name.
 Virtual-real alias: package attempts to provide a real package.
 Missing field: package is missing a required field.

If a base feed URL is specified (-u), each node will include an 'href'
to the associated IPK file. This is purely cosmetic. E.g. It can be used
to create clickable links on a rendered graph. Using it has no effect
on the set of packages or dependencies. It's assumed the specified
base feed URL hosts the current working directory, so the resulting
href's are generated by joining the base and a relative IPK path.

The resulting feed graph is written to './feed.dot' or an alternate
path specified by the caller. Nodes represent real packages (not
aliases)
and edges represent dependencies.

Node attributes:
 (node name): Package name from feed index (without version or arch)
 label: [Package name] [ipkArchitecture] [ipkVersion]
 ipkArchitecture: Architecture name from feed index
 ipkVersion: The full version number from feed index
 ipkMissing: Set to "1" when the ipk is not actually in feed, but has
  one or inbound dependencies.
 href: URL to the IPK file. Only if optional base URL is specified.

Edge attributes:
 (from) The package name declaring a dependency
 (to) The (de-aliased) package name (from) depends on
 ipkProvides: The alias of (to) which (from) depends on. Only set when
  the alias != (to).
 ipkBrokenDep: Set to "1" if (to) is missing from the feed.

Signed-off-by: Haris Okanovic <haris.okanovic@ni.com>
Reviewed-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
2016-01-29 11:54:06 -06:00
2012-04-26 11:39:42 +01:00
2013-12-03 13:19:19 +00:00
2013-12-20 17:38:04 +00:00
2012-04-26 11:39:41 +01:00
2014-06-05 19:54:00 +00:00
2012-04-26 11:39:41 +01:00
2012-04-26 11:39:41 +01:00
Description
Tools for the Opkg lightweight package management system
337 KiB
Languages
Python 54.3%
Shell 44.9%
Makefile 0.8%