Bug#1120530: pgpainless: please make the build reproducible

Chris Lamb lamby at debian.org
Tue Nov 11 18:41:27 GMT 2025


Source: pgpainless
Version: 1.6.9-1
Severity: wishlist
Tags: patch
User: reproducible-builds at lists.alioth.debian.org
Usertags: nocheck
X-Debbugs-Cc: reproducible-bugs at lists.alioth.debian.org

Hi,

Whilst working on the Reproducible Builds effort [0], we noticed that
pgpainless could not be built reproducibly.

This is because it ships different contents in the binary package
depending on whether nocheck is run.

A patch is attached, but this changes the package to always build and
then ship the .jar files associated with the tests, regardless of
whether nocheck was specified or not. I suspect this might be the way
you want to go so that you can run the autopkgtests without needing
the original source tree.

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


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby at debian.org / chris-lamb.co.uk
       `-
-------------- next part --------------
--- a/debian/rules	2025-11-11 10:16:35.637230215 -0800
--- b/debian/rules	2025-11-11 10:36:18.018215357 -0800
@@ -10,16 +10,12 @@
 TEST_CLI_CLASSPATH=$(TEST_SOP_CLASSPATH):/usr/share/java/sop-java-picocli.jar:/usr/share/java/junit5-system-exit.jar:pgpainless-cli/build/libs/pgpainless-cli.jar
 JUNIT_OPTIONS=--exclude-classname="^sop\.testsuite\.\S+" --scan-classpath --fail-if-no-tests --disable-ansi-colors
 
-BUILD_TASKS = jar
+BUILD_TASKS = jar testJar
 
 ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))
 	BUILD_TASKS += javadoc
 endif
 
-ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
-	BUILD_TASKS += testJar
-endif
-
 %:
 	dh $@ --buildsystem=gradle --with javahelper,maven_repo_helper
 
@@ -60,11 +56,9 @@
 else
 	dh_install -Nlibpgpainless-core-java-doc -Nlibpgpainless-cli-java-doc -Nlibpgpainless-sop-java-doc
 endif
-ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
 	dh_install -p libpgpainless-core-java pgpainless-core/build/libs/pgpainless-core-*tests.jar /usr/share/java
 	dh_install -p libpgpainless-sop-java pgpainless-sop/build/libs/pgpainless-sop-*tests.jar /usr/share/java
 	dh_install -p libpgpainless-cli-java pgpainless-cli/build/libs/pgpainless-cli-*tests.jar /usr/share/java
-endif
 
 override_dh_installman:
 ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))
@@ -72,8 +66,6 @@
 endif
 
 execute_after_jh_manifest:
-ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
 	jh_manifest -c "junit5-system-exit.jar bcutil.jar pgpainless-cli.jar" debian/libpgpainless-cli-java/usr/share/java/pgpainless-cli-tests.jar
 	jh_manifest -c "bcutil.jar pgpainless-core.jar" debian/libpgpainless-core-java/usr/share/java/pgpainless-core-tests.jar
 	jh_manifest -c "pgpainless-sop.jar" debian/libpgpainless-sop-java/usr/share/java/pgpainless-sop-tests.jar
-endif


More information about the pkg-java-maintainers mailing list