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

Bug#1009797: apt: support "nodoc" build profile



Source: apt
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: randomness
X-Debbugs-Cc: reproducible-bugs@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 <vagrant@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

Attachment: signature.asc
Description: PGP signature


Reply to: