1

It is required to install a bunch of packages when building a project. Such projects may have dedicated Docker images for this or pre-existing meta-packages.

But for the ones that have none of the above, you have to manually install the required packages. For example, if you want to install the dependencies to build the PPSSPP project, you have to run (as of 2020-06-02):

sudo apt install build-essential cmake libgl1-mesa-dev libsdl2-dev libvulkan-dev

The more projects you build from scratch, the more dependency packages you install on your system, losing track of why libsdl2-dev is manually installed on your system.

Is there an existing tool (or apt command) that install a group of packages automatically under a given group name, for example by automatically creating a meta-package depending on all given packages, with a given name:

sudo my-apt-tool install custom-ppsspp-metapkg build-essential cmake (...)

That way, when you remove custom-ppsspp-metapkg, the no longer useful dependency packages are marked as no longer required by APT.

Or... is it a bad idea?

kagmole
  • 453

1 Answers1

4

Specifically for build dependencies, there’s already a tool for that, or near enough; mk-build-deps (in devscripts) will create a meta-package encapsulating another package’s build-dependencies, so you can then install the meta-package and have any dependencies be automatically installed (and then become autoremoval candidates when the meta-package is removed). See Automatically install unmet build dependencies as detected by dpkg-checkbuilddeps for details.

In other scenarios, you could use equivs. See Create a .deb package with only dependencies for details.

Stephen Kitt
  • 434,908