dependencies tutorial

Randomly going to explain various parts of it.

Have a look at:
anon-meta-packages/control at master · Whonix/anon-meta-packages · GitHub

  • click on raw for a more copy/paste / reading friendly version.
  • consider copying file contents in and editor of your choice
  • search the file for whonix-gateway-default-applications-gui

here is an example package:

Package: whonix-gateway-default-applications-gui
Architecture: all
Pre-Depends: whonix-legacy
Depends: onioncircuits, anon-connection-wizard, tor-control-panel, ${misc:Depends}
Replaces: anon-gateway-default-applications, whonix-gateway-default-applications
Description: Recommended desktop packages for Whonix-Gateway GUI
 A metapackage, which installs graphical user interface (GUI) packages,
 which are recommended for a graphical Whonix-Gateway.
 .
 Safe to remove, if you know what you are doing.

Now we need to mentally blank out the “unimportant things” for purposes of simplification.

The essential part mostly to only look at is this:

Package: whonix-gateway-default-applications-gui
Depends: onioncircuits, anon-connection-wizard, tor-control-panel, ${misc:Depends}

Also forget about ${misc:Depends} for now. That’s just something we have to add to every package unfortunately.

The maximum simplified version for grasping it would look like this:

Package: whonix-gateway-default-applications-gui
Depends: onioncircuits, anon-connection-wizard, tor-control-panel

As an exercise one could remove all the “unimportant things” from all packages to get an overview. We could also consider a script to easily provide such a simplified version to easy studying it.

1 Like

Sometimes Depends: are spread among multiple lines.
(Line break after 80 characters is convention.)
How do you know where it starts and where it stops?

Example whonix-workstation-packages-recommended-cli.

Package: whonix-workstation-packages-recommended-cli
Architecture: all
Depends: anon-mixmaster, anon-gpg-tweaks, anon-ws-disable-stacked-tor, pwgen,
 python-msgpack, bindp, codecrypt, gnupg2, gnupg-agent, dirmngr,
 magic-wormhole, diceware, makepasswd, ${misc:Depends}
Description: Recommended packages for Whonix-Workstation CLI
 A metapackage, which installs packages, which are recommended for
 command line interface (CLI) Whonix-Workstation, because they are
 useful for a Tor Workstation.
 .
 Feel free to remove if you know what you are doing.

It starts with Depends:. After the colon : there is no other colon until there is a new line saying Description: (or possibly SomethingElse:.

So the dependencies of package whonix-workstation-packages-recommended-cli are:

anon-mixmaster, anon-gpg-tweaks, anon-ws-disable-stacked-tor, pwgen, python-msgpack, bindp, codecrypt, gnupg2, gnupg-agent, dirmngr, magic-wormhole, diceware, makepasswd
1 Like