Bug#1048703: plm: Fails to build source after successful build

2024-05-13 Thread Pierre Gruet
Source: plm
Version: 2.9.2-1
Followup-For: Bug #1048703
Control: tags -1 patch

Dear Maintainer,

The enclosed patch will allow you to solve this bug.

Cheers,

-- 
Pierre
diff -Nru plm-2.9.2/debian/rules plm-2.9.2/debian/rules
--- plm-2.9.2/debian/rules  2020-10-11 21:54:58.0 +0200
+++ plm-2.9.2/debian/rules  2024-05-13 22:03:35.0 +0200
@@ -26,11 +26,28 @@
 %:
dh $@   --with javahelper
 
+execute_before_dh_auto_configure:
+   # Making backups of files that will be altered during the build
+   for F in $$(find l10n/engine -name "*.po" -o -name "*.pot") 
lib/resources/plm.configuration.properties; do \
+   cp $$F $${F}.save ;\
+   done
+
 override_dh_auto_clean:
dh_auto_clean
find . -type f -name \*.java.json-simple \
  -exec sh -c 'file={} && mv $$file $${file%.json-simple}' \; -print
 
+override_dh_clean:
+   dh_clean
+   # Removing files left there by the build system.
+   find . -name "*.jar" -delete
+   -rm dist/*.tar.bz2
+   -rm errors-*.txt
+   # Restoring files that were altered during the build
+   for F in $$(find . -name "*.save") ; do \
+   mv $$F $${F%.save} ;\
+   done
+
 override_dh_auto_build:
find . -type f -name \*.java -exec grep -q 'import 
@JSON_SIMPLE_PACKAGE@' {} \; \
  -exec sed -i.json-simple \


Bug#1048703: plm: Fails to build source after successful build

2023-08-13 Thread Lucas Nussbaum
Source: plm
Version: 2.9.2-1
Severity: minor
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-sab-20230813 ftbfs-source-after-build
User: debian...@lists.debian.org
Usertags: qa-doublebuild

Hi,

This package fails to build a source package after a successful build
(dpkg-buildpackage ; dpkg-buildpackage -S).

This is probably a clear violation of Debian Policy section 4.9 (clean target),
but this is filed as severity:minor for now, because a discussion on
debian-devel showed that we might want to revisit the requirement of a working
'clean' target.

More information about this class of issues, included common problems and
solutions, is available at
https://wiki.debian.org/qa.debian.org/FTBFS/SourceAfterBuild

Relevant part of the build log:
> cd /<> && runuser -u user42 -- dpkg-buildpackage --sanitize-env 
> -us -uc -rfakeroot -S
> -
> 
> dpkg-buildpackage: info: source package plm
> dpkg-buildpackage: info: source version 2.9.2-1
> dpkg-buildpackage: info: source distribution unstable
> dpkg-buildpackage: info: source changed by Martin Quinson 
> 
>  dpkg-source --before-build .
>  fakeroot debian/rules clean
> dpkg: warning: --compare-versions used with obsolete relation operator '>'
> dh clean   --with javahelper
>debian/rules override_dh_auto_clean
> make[1]: Entering directory '/<>'
> dpkg: warning: --compare-versions used with obsolete relation operator '>'
> dh_auto_clean
>   ant clean
> Buildfile: /<>/build.xml
> 
> clean:
>[delete] Deleting directory /<>/site/bin
> 
> BUILD SUCCESSFUL
> Total time: 1 second
> find . -type f -name \*.java.json-simple \
>   -exec sh -c 'file={} && mv $file ${file%.json-simple}' \; -print
> ./src/plm/core/model/Users.java.json-simple
> ./src/plm/core/model/session/SessionDB.java.json-simple
> ./src/plm/core/model/session/ZipSessionKit.java.json-simple
> ./src/plm/core/model/tracking/GitSpy.java.json-simple
> ./src/plm/core/model/User.java.json-simple
> ./src/plm/core/ui/action/HelpMe.java.json-simple
> make[1]: Leaving directory '/<>'
>jh_clean
>dh_clean
>  dpkg-source -b .
> dpkg-source: info: using source format '3.0 (quilt)'
> dpkg-source: info: building plm using existing ./plm_2.9.2.orig.tar.gz
> dpkg-source: info: using patch list from debian/patches/series
> dpkg-source: error: cannot represent change to 
> dist/plm-src.2.9.2-20201011.jar: binary file contents changed
> dpkg-source: error: add dist/plm-src.2.9.2-20201011.jar in 
> debian/source/include-binaries if you want to store the modified binary in 
> the debian tarball
> dpkg-source: error: cannot represent change to 
> dist/plm.2.9.2-20201011.tar.bz2: binary file contents changed
> dpkg-source: error: add dist/plm.2.9.2-20201011.tar.bz2 in 
> debian/source/include-binaries if you want to store the modified binary in 
> the debian tarball
> dpkg-source: warning: newly created empty file 'errors-msgid.txt' will not be 
> represented in diff
> dpkg-source: warning: newly created empty file 'errors-msgstr.txt' will not 
> be represented in diff
> dpkg-source: error: cannot represent change to lib/plm-messages.jar: binary 
> file contents changed
> dpkg-source: error: add lib/plm-messages.jar in 
> debian/source/include-binaries if you want to store the modified binary in 
> the debian tarball
> dpkg-source: error: cannot represent change to plm.jar: binary file contents 
> changed
> dpkg-source: error: add plm.jar in debian/source/include-binaries if you want 
> to store the modified binary in the debian tarball
> dpkg-source: error: unrepresentable changes to source
> dpkg-buildpackage: error: dpkg-source -b . subprocess returned exit status 1
> 
> E: Command 'cd /<> && runuser -u user42 -- dpkg-buildpackage 
> --sanitize-env -us -uc -rfakeroot -S' failed to run.


The full build log is available from:
http://qa-logs.debian.net/2023/08/13/plm_2.9.2-1_unstable.log

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.