[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#979607: texlive-bin: reduce Build-Depends



Source: texlive-bin
Version: 2020.20200327.54578-5
User: helmutg@debian.org
Usertags: rebootstrap

Hi Norbert et al,

as discussed on irc, I'm working on reducing Build-Depends on packages
relevant to architecture bootstrap. texlive-bin is one of the more
difficult packages and we agreed that I'm not providing a patch here.
What I can tell is:

If you perform a full amd64 build of texlive-bin and then turn the
following Build-Depends into Build-Conflicts, then a
DEB_BUILD_OPTIONS=nocheck build produces bit-identical .deb files (as
texlive-bin is otherwise reproducible).

 * libgd-dev
 * libgs-dev
 * libncurses5-dev
 * libpotrace-dev
 * libwoff-dev
 * libxxhash-dev
 * sharutils
 * texinfo
 * time

The reason for being apparently unused can vary. I've seen the following
reasons:
 * A dependency is really unneeded. It was needed earlier, but is no
   longer needed and someone forgot to drop it. For instance
   libpotrace-dev has a use in a component that is explicitly being
   opted out of building. Maybe it can be dropped entirely.
 * A dependency is only used for unit testing. If that's what you think,
   annotate it "<!nocheck>". Any dependency thus tagged becomes
   irrelevant to architecture bootstrap. However, please ensure that the
   final result is buildable with DEB_BUILD_OPTIONS=nocheck and
   DEB_BUILD_PROFILES=nocheck (use the --profiles option of sbuild or
   pbuilder).
 * Sometimes, a dependency has fallback code. For instance if you depend
   on xxd to locate it and fall back to using /usr/bin/xxd, then
   building without this dependency is reproducible, but it should be
   kept. Similarly, absence of flex or bison can result into source
   files not being rebuilt. When the previously generated output is
   close enough, the package will appear to remain reproducible. Please
   keep such dependencies. Even better, please delete the intermediate
   results (if possible) before build to ensure that they are rebuilt and
   to ensure that future tests of droppable dependencies will identify
   the relevant depenencies as necessary.

When in doubt, let us discuss. Thank you for looking into this.

Helmut


Reply to: