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

Bug#1006407: qt6-base: reproducible-builds: Build path embedded QtBuildInternalsExtra.cmake



Source: qt6-base
Severity: normal
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: buildpath
X-Debbugs-Cc: reproducible-bugs@lists.alioth.debian.org

The path of the build environment is embedded in the
QtBuildInternalsExtra.cmake file shipped in the package:

  https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/diffoscope-results/qt6-base.html

  /usr/lib/x86_64-linux-gnu/cmake/Qt6BuildInternals/QtBuildInternalsExtra.cmake

  set(QT_SOURCE_TREE·"/build/1st/qt6-base-6.2.2+dfsg"·CACHE·PATH
  vs.
  set(QT_SOURCE_TREE·"/build/2/qt6-base-6.2.2+dfsg/2nd"·CACHE·PATH

The attached patch fixes this by removing the code that embeds the build
path.

It does build successfully with the patch applied, though I have not
otherwise tested the package.  Another option might be to exclude this
file from the package.

For either approach, someone familiar with qt6-base would need to test
and confirm if either of these methods are ok!


With this patch applied, qt6-base should build reproducibly on
tests.reproducible-builds.org!


Thanks for maintaining qt6-base!


live well,
  vagrant
From 7264836612592c0e8fe084cee053f2fc68ecb035 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
Date: Fri, 25 Feb 2022 03:00:05 +0000
Subject: [PATCH] cmake/QtBuildInternalsExtra.cmake.in: Patch out embedded
 build path.

The original build path should not be needed in the shipped package,
and causes reproducibility issues when built in different paths.

https://reproducible-builds.org/docs/build-path/
---
 cmake/QtBuildInternalsExtra.cmake.in | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/cmake/QtBuildInternalsExtra.cmake.in b/cmake/QtBuildInternalsExtra.cmake.in
index cbd70b1..23b2391 100644
--- a/cmake/QtBuildInternalsExtra.cmake.in
+++ b/cmake/QtBuildInternalsExtra.cmake.in
@@ -53,9 +53,6 @@ endif()
 set(QT_WILL_INSTALL @QT_WILL_INSTALL@ CACHE BOOL
     "Boolean indicating if doing a Qt prefix build (vs non-prefix build)." FORCE)
 
-set(QT_SOURCE_TREE "@QT_SOURCE_TREE@" CACHE PATH
-"A path to the source tree of the previously configured QtBase project." FORCE)
-
 # Propagate decision of building tests and examples to other repositories.
 set(QT_BUILD_TESTS @QT_BUILD_TESTS@ CACHE BOOL "Build the testing tree.")
 set(QT_BUILD_EXAMPLES @QT_BUILD_EXAMPLES@ CACHE BOOL "Build Qt examples")
-- 
2.35.1

Attachment: signature.asc
Description: PGP signature


Reply to: