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