Source: python-os-apply-config
Version: 14.0.1-2
Severity: wishlist
Tags: patch
User: [email protected]
Usertags: nocheck
X-Debbugs-Cc: [email protected]

Hi,

Whilst working on the Reproducible Builds effort [0], we noticed that
python-os-apply-config could not be built reproducibly.

This is because the binary differs depending on whether the tests
are run or not. Specifically, the modification time of a file is 
different because of the patching of a file in debian/rules.

Patch attached.

 [0] https://reproducible-builds.org/


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      [email protected] / chris-lamb.co.uk
       `-
--- a/debian/rules      2025-11-13 08:01:25.815142077 -0800
--- b/debian/rules      2025-11-13 08:28:46.839985627 -0800
@@ -3,6 +3,8 @@
 UPSTREAM_GIT := https://github.com/openstack/os-apply-config.git
 include /usr/share/openstack-pkg-tools/pkgos.make
 
+APPLY_CONFIG_PY := 
debian/tmp/usr/lib/python3/dist-packages/os_apply_config/apply_config.py
+
 %:
        dh $@ --buildsystem=pybuild --with python3
 
@@ -21,9 +23,12 @@
        pkgos-dh_auto_install --no-py2 --in-tmp
 
 ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+       touch -r $(APPLY_CONFIG_PY) .timestamp
        patch -p1 < debian/test-patch.patch
        PATH=$$PATH:$(CURDIR)debian/tmp/usr/bin pkgos-dh_auto_test --no-py2 
'os_apply_config.tests\.(?!(.*test_apply_config\.OSConfigApplierTestCase.*|.*test_collect_config\.OCCTestCase\.test_failed_read.*))'
        patch -p1 -R < debian/test-patch.patch
+       touch -r .timestamp $(APPLY_CONFIG_PY)
+       rm .timestamp
 endif
 
 override_dh_python3:

Reply via email to