Debian Bug report logs - #1029809
dnf-plugins-core: reproducible-builds: encoding and content differences in manpages

Package: src:dnf-plugins-core; Maintainer for src:dnf-plugins-core is Aron Xu <aron@debian.org>;

Reported by: Vagrant Cascadian <vagrant@reproducible-builds.org>

Date: Sat, 28 Jan 2023 01:33:01 UTC

Severity: normal

Tags: patch

Reply or subscribe to this bug.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, reproducible-bugs@lists.alioth.debian.org, kibi@debian.org, Aron Xu <aron@debian.org>:
Bug#1029809; Package src:dnf-plugins-core. (Sat, 28 Jan 2023 01:33:04 GMT) (full text, mbox, link).


Acknowledgement sent to Vagrant Cascadian <vagrant@reproducible-builds.org>:
New Bug report received and forwarded. Copy sent to reproducible-bugs@lists.alioth.debian.org, kibi@debian.org, Aron Xu <aron@debian.org>. (Sat, 28 Jan 2023 01:33:04 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Vagrant Cascadian <vagrant@reproducible-builds.org>
To: submit@bugs.debian.org
Subject: dnf-plugins-core: reproducible-builds: encoding and content differences in manpages
Date: Fri, 27 Jan 2023 17:30:29 -0800
[Message part 1 (text/plain, inline)]
Source: dnf-plugins-core
Severity: normal
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: randomness
X-Debbugs-Cc: reproducible-bugs@lists.alioth.debian.org, kibi@debian.org

The manpages of various builds non-deterministically end up with
different encoding and contents:

  https://tests.reproducible-builds.org/debian/rb-pkg/bookworm/amd64/diffoscope-results/dnf-plugins-core.html

  /usr/share/man/man1/repodiff.1.gz

  ...Note·that·you·can·use·a·wildcard·\(dq*\(dq·for·all·architectures...
  vs.
  ...Note·that·you·can·use·a·wildcard·“*”·for·all·architectures...

It appears this is due to building the doc-html and doc-man build
targets concurrently. The attached patch works around this issue by
changing the dependencies of the build targets so that they are built in
sequence.

Alternate solutions would be to pass --no-parallel to dh in
debian/rules, although this obviously would not work upstream.

It is also be possible to specify different directories for the doc-man
and doc-html build targets, by passing "-d path/to/doc-man/build" and
"-d path/to/doc-html/build".

According to my local tests, with this patch applied dnf-plugins-core
should build reproducibly on tests.reproducible-builds.org!

Thanks for maintaining dnf-plugins-core!

live well,
  vagrant
[0001-doc-CMakeLists.txt-Add-Dependency-on-doc-man-for-doc.patch (text/x-diff, inline)]
From cc5394dea9060d8cf53e5fc8d4c7a357a7bcc8e5 Mon Sep 17 00:00:00 2001
From: Cyril Brulebois <kibi@debian.org>
Date: Sat, 28 Jan 2023 01:14:27 +0000
Subject: [PATCH] doc/CMakeLists.txt: Add Dependency on doc-man for doc-html,
 to avoid race conditions when building from the same source files.

When built in parallel with the html documentation, the resulting
files may result in a different file encoding or other arbitrary
differences. Build each in sequence to avoid this.

Signed-off-by: Vagrant Cascadian <vagrant@reproducible-builds.org>
---
 doc/CMakeLists.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index fda4f83..0b87fab 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -16,7 +16,8 @@ ADD_CUSTOM_TARGET (doc-man
 		  ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}
 		  COMMENT "Building manpage documentation")
 ADD_CUSTOM_TARGET (doc)
-ADD_DEPENDENCIES (doc doc-html doc-man)
+ADD_DEPENDENCIES (doc doc-html)
+ADD_DEPENDENCIES (doc-html doc-man)
 
 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/dnf-builddep.8
     ${CMAKE_CURRENT_BINARY_DIR}/dnf-changelog.8
-- 
2.39.1

[signature.asc (application/pgp-signature, inline)]

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed May 17 10:59:05 2023; Machine Name: bembo

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.