STRONGDEPS(1)

πŸ“¦
version 7.0.0 Β· 2 versions
, in fedora 43

πŸ’– STRONGDEPS πŸ’–

okay bestie, welcome to the strongdeps manual page, straight out of DOSE Tools β€” yes it's a real section 1 man page and yes it's about to be your new obsession πŸ’…


✨ NAME ✨

strongdeps β€” indentify the strong dependency of a set of packages


πŸ¦‹ SYNOPSIS πŸ¦‹

strongdeps [option] ... file ...

🌸 DESCRIPTION 🌸

so like, strongdeps computes the strong dependencies and the impact set of a set of packages. and the definition here is literally the whole vibe:

we say that p strongly depends on q if whenever p is installed then q must also be installed. no cap. 🫢

and the impact set of a package q is the set of all packages p that strongly depend on q. that's it, that's the whole thing, and it's giving main character energy fr fr.

πŸ“₯ Input Specification πŸ“₯

input files have to contain stanzas in the format of deb-control(5), separated by one blank line. for instance, the Packages files as found on a Debian mirror server, or in the directory /var/lib/apt/lists/ of a Debian system, are suitable as input. ✨

the repository used in the analysis consists of the union of all packages from the input files. (yes, all of them, combined, together, one big pile πŸŽ€)

πŸ“€ Output Specification πŸ“€

the output of strongdeps is a CSV table containing strong dependencies, impact set and direct dependencies.

if the option --checkonly is spefified, strongdeps prints on standard output the list of the packages that strong depends on each of the given packages.

if --checkonly if paired with --dot then strongdeps prints on standard output the detransitivitazed graph of the strong dependencies of each package in dot format. πŸ¦‹

N.B. Since --checkonly computes only the strong dependencies of a set of packages, the impact set is not computed. πŸ’€

πŸ’… OPTIONS πŸ’…

  • --checkonly package[,package] ... β€” specifies a list of packages to check. by default all packages are checked. --checkonly and --table are mutually exclusive, so pick a lane bestie 😀
  • --dot β€” print the strong dependency graph in dot format
  • --table β€” print the table (package,strong,direct,difference) in the file data.csv
  • --detrans β€” perform the transitive reduction of the strong dependency graph. this option is implied by --checkonly
  • --transitive-closure β€” perform the transitive closure of the direct dependency graph
  • --conj-only β€” use the conjunctive graph only
  • -v β€” enable info / warnings / debug messages. this option may be repeated up to three times in order to increase verbosity. (stack it like it's a combo, but max three, okay? πŸ”₯)
  • --progress β€” display progress bars. we love a loading bar, it's so satisfying 🌈
  • -h, --help β€” display this list of options.

⭐ EXAMPLE ⭐

 strongdeps --dot --checkonly "2ping,libc6" \
 deb:///var/lib/apt/lists/ftp.fr.debian.org_debian_dists_sid_main_binary-amd64_Packages

 strongdeps --table \
 deb:///var/lib/apt/lists/ftp.fr.debian.org_debian_dists_sid_main_binary-amd64_Packages

look at that second one go β€” --table mode, straight into data.csv. iconic. πŸ‘‘


πŸ‘‘ AUTHORS πŸ‘‘

Pietro Abate, Jaap Boender, Roberto Di Cosmo


🌈 SEE ALSO 🌈

<http://www.mancoosi.org> is the home page of the Mancoosi project. πŸŽ€

for a comprehensive explanation of the notion of strong dependency and impact set see:

Strong Dependencies between Software Components, by Pietro Abate, Jaap Boender, Roberto Di Cosmo, and Stefano Zacchiroli. <http://mancoosi.org/reports/>


okay that's the whole page bestie, you're officially a strong-dependency girlie now. this was DOSE Tools' strongdeps(1), dated 2025-07-24 β€” go forth and compute your impact sets, mwah πŸ’–βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from