Source: apt Severity: wishlist Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: randomness X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org
There are some non-deterministic identifiers that doxygen introduces into apt's documentation packages: https://tests.reproducible-builds.org/debian/rb-pkg/bookworm/amd64/diffoscope-results/apt.html The attached patch, adds support for the "nodoc" build profile, allowing to build the other apt packages reproducibly by excluding the documentation packages. This also allows building functional apt packages with a smaller dependency chain, so might help with bootstrapping efforts too! I thought docbook* and xsltproc could also be excluded from the Build-Depends, but that triggered some other build failures. Of course, ideally building documentation reproducibly would be very nice as well, so it would be good to eventually fix the underlying issues in doxygen: https://tests.reproducible-builds.org/debian/issues/unstable/nondeterminstic_todo_identifiers_in_documentation_generated_by_doxygen_issue.html https://tests.reproducible-builds.org/debian/issues/unstable/nondeterministic_ordering_in_documentation_generated_by_doxygen_issue.html Thanks for maintaining apt! live well, vagrant
From d408a3b439dafa4378a1eec6c7c4dbefe4986897 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian <vagr...@reproducible-builds.org> Date: Sun, 17 Apr 2022 22:11:12 +0000 Subject: [PATCH 2/2] Add support for "nodoc" build profile. https://wiki.debian.org/BuildProfileSpec#Registered_profile_names --- debian/control | 4 +++- debian/rules | 8 +++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/debian/control b/debian/control index 2f1d0515e..7f10eec3e 100644 --- a/debian/control +++ b/debian/control @@ -31,7 +31,7 @@ Build-Depends: cmake (>= 3.4), triehash, xsltproc, zlib1g-dev -Build-Depends-Indep: doxygen, graphviz, w3m +Build-Depends-Indep: doxygen <!nodoc>, graphviz <!nodoc>, w3m <!nodoc> Vcs-Git: https://salsa.debian.org/apt-team/apt.git Vcs-Browser: https://salsa.debian.org/apt-team/apt @@ -101,6 +101,7 @@ Priority: optional Depends: ${misc:Depends} Section: doc Multi-Arch: foreign +Build-Profiles: <!nodoc> Description: documentation for APT This package contains the user guide and offline guide for various APT tools which are provided in a html and a text-only version. @@ -125,6 +126,7 @@ Priority: optional Depends: ${misc:Depends} Section: doc Multi-Arch: foreign +Build-Profiles: <!nodoc> Description: documentation for APT development This package contains documentation for development of the APT Debian package manipulation program and its libraries. diff --git a/debian/rules b/debian/rules index ce9218968..38db7819a 100755 --- a/debian/rules +++ b/debian/rules @@ -17,6 +17,12 @@ else configure_test_flags = endif +ifeq ($(filter nodoc,$(DEB_BUILD_PROFILES)),) + WITH_DOC=-DWITH_DOC=ON +else + WITH_DOC=-DWITH_DOC=OFF +endif + %: dh $@ --buildsystem=cmake+ninja @@ -45,6 +51,6 @@ override_dh_installsystemd: dh_installsystemd --remaining-packages override_dh_auto_configure-arch: flags=-DWITH_DOC=OFF -override_dh_auto_configure-indep: flags=-DWITH_DOC=ON +override_dh_auto_configure-indep: flags=$(WITH_DOC) override_dh_auto_configure-arch override_dh_auto_configure-indep: dh_auto_configure -- $(flags) $(configure_test_flags) -- 2.30.2
signature.asc
Description: PGP signature