Bug#975261: diffoscope: install footprint is 2.6GB, please move some recommends to suggests

Ximin Luo infinity0 at debian.org
Thu Nov 19 18:35:11 GMT 2020


Package: diffoscope
Version: 161
Severity: important
File: diffoscope

Dear Maintainer,

The size of diffoscope is getting really quite ridiculous, all the recommends
now come to ~2.6 GB installed size, even though they are not used in the vast
majority of use cases. Not only is the disk space wasted, the extra packages
causes APT maintenance headaches when upgrading, it often wants to install
random extra dependencies not necessarily caused by diffoscope itself, but an
upgrade to one of its recommends.

Sometimes the grandchildren provides of the child recommends interact badly,
for example on my system installing diffoscope wants to install evince and
gnome3-desktop-data for some reason, even though I already have another PDF
viewer installed.

Debian Policy says:
"Recommends: This declares a strong, but not absolute, dependency."

and that is why apt-get installs these by default. However most of the current
Recommends are for rare use cases. Furthermore diffoscope already has very
nice run-time logic to detect when a needed program is not installed, and
tells you to install it.

I have managed to figure out that by moving the following Recommends to
Suggests one can cut the footprint from 2.6GB to about 64MB which is much more
reasonable. Therefore please do that. These are ordered roughly by size:

- ghc - 800MB
- ocaml-nox - 460MB
- llvm - 330MB
- fp-utils - 320MB
- default-jdk-headless | default-jdk | java-sdk - 240MB for default-jdk-headless
- python3-guestfs - 150MB
- python3-binwalk - 140MB
- gnumeric - 85MB
- apktool - 50MB
- mono-utils - 30MB
- radare2 - 30MB
- xmlbeans - 20MB
- ovmf - 14MB

This will make it much easier to keep having diffoscope on a system across
multiple system upgrades.

X

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'buildd-unstable'), (500, 'stable'), (300, 'unstable'), (200, 'experimental'), (1, 'buildd-experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.6.0-2-amd64 (SMP w/8 CPU threads)
Kernel taint flags: TAINT_WARN
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8), LANGUAGE=en_GB:en
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled



More information about the Reproducible-builds mailing list