- Package:
- diffoscope-minimal
- Source:
- diffoscope-minimal
- Submitter:
- Richard Lewis
- Date:
- 2025-09-18 16:29:01 UTC
- Severity:
- normal
package: diffoscope-minimal version: 297 severity: wishlist diffoscope-minimal seems rather badly named as it recommends a huge number of packages, very few of which seem to meet the definition of recommends for a "minimal" package -- i think most people would just a slight improvement on debdiff i know i can remove recommends, but it's a chore as you but can't just blindly remove everything given that other packages may also depend on them (eg gpg, e2fsprogs). and it's not clear what impact removing anything has -- eg i can guess that r-base-core and ffmpeg can go, but is python3-argcomplete actually recommended for all users? and you have to repeat this on every stable upgrade by which time i've forgotten that something else depends on genisoimage and that aapt has nothing at all to do with apt thanks for considering, and for maintaining diffoscope
Richard Lewis wrote: Agreed. However, I think the intention was that diffoscope-minimal would be *installed* with --no-install-recommends in the first place. Is that your recollection as well, Mattia? Regards,
the binary package "diffoscope" itself also just "recommends" everything
else, so one could just use --no-install-recommends on that to achieve
said result, without using the -minimal variant.
IIRC the -minimal variant uses a curated, restricted list of packages in
the Recommends fields, described as:
This -minimal package only recommends a partial set of the supported 3rd party
tools needed to produce file-format-specific comparisons, excluding those that
are considered too large or niche for general use.
Currently that expands to
Recommends: 7zip, aapt, abootimg, acl, apksigcopier, binutils-multiarch, bzip2, caca-utils, colord, coreboot-utils, db-util, device-tree-compiler, dexdump, docx2txt, e2fsprogs, enjarify, ffmpeg, fontforge-extras, fonttools, genisoimage, gettext, ghostscript, giflib-tools, gnupg-utils, gpg, hdf5-tools, html2text, imagemagick, jsbeautifier, libarchive-tools, libxmlb-utils, lz4, lzip, odt2txt, oggvideotools, openssh-client, openssl, perl, pgpdump, poppler-utils, procyon-decompiler, python3-pdfminer, r-base-core, rpm2cpio, sng, sqlite3, squashfs-tools, systemd-ukify, tcpdump, u-boot-tools, unzip, wabt, xxd, xz-utils, zip, zstd, androguard, python3-argcomplete, python3-debian, python3-defusedxml, python3-jsondiff, python3-progressbar, python3-pypdf, python3-pyxattr, python3-rpm, python3-tlsh (>= 3.4.1)
Where there aren't many I'd futher exclude, perhaps I'd consider
excluding the android-related packages, at most (this might already be
an oversight: apktool is excluded already, but not aapt, abootimg, etc)?
Technically, that list of made by excluding the tools listed here from
the complete list:
# Set of tools considered "large" in their installation size or too niche in
# their target users. This is so they can easily be excluded from installation
# if not required in most cases. Note that these are the names of the tools
# (ie. the keys in the EXTERNAL_TOOLS dict), not the package names.
HUGE_TOOLS = {
"ghc",
"ocamlobjinfo",
"llvm-bcanalyzer",
"llvm-config",
"llvm-dis",
"llvm-readobj",
"llvm-objdump",
"ppudump",
"javap",
"ssconvert",
"apktool",
"apksigner",
"pedump",
"radare2",
"dumpxsb",
}
Richard, do you see anything in the above Recommends list that you
believe should not be recommended?
... ... The fact that both packages mostly only really differ in the number of recommends seems a bit silly to me honestly! Admittedly, diffoscope has such a broad spectrum of file type support that a package that hard-depended on even a subset of them might be a difficult judgement call... What is the actual use-case for diffoscope-minimal vs. diffoscope? At least from my perspective, I would prefer a split: diffoscope -> recommend all the things diffoscope-minimal -> suggest all the things Then "diffoscope-minimal" is truely opt-in and you explicitly pull in the features you are actually interested in, and "diffoscope" pulls in all (or nearly all) the recommended features, and you selectivly opt-out of the features you do not want... live well, vagrant
sounds more sound to me too. Thanks!
this is my preference too (and what i was hoping for in reporting this bug)
Richard Lewis wrote: The above would work for me, but I'm a bit of a special case — as a developer, I'm always running diffoscope out of Git. :) Mattia, what do you think? Best wishes,