#1105378 lazarus: FTBFS with make --shuffle=reverse: dpkg-buildpackage: error: dpkg-source -b . subprocess returned exit status 2 #1105378
- Package:
- src:lazarus
- Source:
- src:lazarus
- Submitter:
- Lucas Nussbaum
- Date:
- 2026-06-27 16:51:02 UTC
- Severity:
- normal
- Tags:
Hi, GNU Make now has a --shuffle option that simulates non-deterministic ordering of target prerequisites. See https://trofi.github.io/posts/238-new-make-shuffle-mode.html and also previous work in Debian by Santiago Vila: https://people.debian.org/~sanvila/make-shuffle/ This package fails to build with make --shuffle=reverse. This is likely to be caused by a missing dependency in debian/rules or an upstream Makefile. More information about this mass bug filing is available at https://wiki.debian.org/qa.debian.org/FTBFS/Shuffle Relevant part (hopefully): The full build log is available from: http://qa-logs.debian.net/2025/05/05/shuffle/reverse/lazarus_4.0~rc3+dfsg-3_unstable_reverse.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
ISTM the cause of this bug is line 79 in the current rules file; clean: clean-patched clean-make-files The left right ordering is critical. Solution is to make clean-make-files depend on clean-patched so the targets are always executed in the right order. Raising priority to normal, as while we we not usually use --shuffle=reverse a normal build might fail due to timing if targets are building in parallel.
Well, that didn’t work! It seems clean-make-files also needs to run independently of clean-patched. Also, adding .WAIT everywhere in d/rules did not fix the bug as likely the upstream makefiles also depends on strict left right ordering as well. Going to add .NOPARALLEL to prevent any issues arising from attempts to parallel build, and put priority back to minor. Tempted to add 'wontfix' as I don't see anyway this build can be made to work with --shuffle=reverse. Cheers, Peter
Hi Peter, Indeed, the right order was enforced more by the order of calling targets rather than the dependency of targets. This is a bad design, but was so old that we can't complain about it. Probably not the right solution Neither this one I would rather try to give it to a chat bot and ask it to fix that or at least draw the dependency graph and the execution flows. Or maybe even better, try to create a new make file based on latest Debian process rather than this legacy make file. I unfortunately don't have time for that now, but I planned to rework this make file to make it smaller and more conform to what we do with other tools. However this may take a while because the nature of FPC as a compiler render some intermediate steps mandatory.
We believe that the bug you reported is fixed in the latest version of
lazarus, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 1105378@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Mazen Neifer <mazen@debian.org> (supplier of updated lazarus package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Sat, 27 Jun 2026 17:38:02 +0200
Source: lazarus
Architecture: source
Version: 4.8+dfsg-2
Distribution: unstable
Urgency: medium
Maintainer: Pascal Packaging Team <pkg-pascal-devel@lists.alioth.debian.org>
Changed-By: Mazen Neifer <mazen@debian.org>
Closes: 1105378
Changes:
lazarus (4.8+dfsg-2) unstable; urgency=medium
.
* Added AppStream MetaInfo
- Added debian/lazarus.metainfo.xml.in to resolve the AppStream no-metainfo
warning.
- Updated debian/lazarus-ide.install.in to package the generated XML file
under /usr/share/metainfo.
- Updated debian/clean to clean up debian/*.metainfo.xml during dh_clean.
* Fixed Makefile shuffle clean dependency issue
- Added clean-patched dependency to clean-make-files target in debian/rules
to enforce correct ordering of cleanup rules under parallel and shuffled
execution (Closes: #1105378).
- Removed clean-make-files from configure prerequisites to avoid triggering
clean-patched (distclean) during configuration.
* Mark lcl-nogui-4.8 as Multi-Arch: same
- Add Multi-Arch: same to lcl-nogui${PACKAGESUFFIX} in debian/control.in.
- Regenerate debian/control using `make -f debian/rules gen-control`.
Checksums-Sha1:
9f18451e4fc0ec2a9bccf8bea86753de58e14a29 3150 lazarus_4.8+dfsg-2.dsc
97aba3332475e27695f0b7afe20cfe67e3e1a168 242056 lazarus_4.8+dfsg-2.debian.tar.xz
949fdea1672ea4f2a370325f92483f0201e8a4b9 21909 lazarus_4.8+dfsg-2_amd64.buildinfo
Checksums-Sha256:
7b709743eab8f0d940bfae7e3f84744eb215cc283a1ad7a5a1c6a9fbcf1ea191 3150 lazarus_4.8+dfsg-2.dsc
fc08d2e24f1c98c0c44c873fcf9c5dbe7ecf4c9aa79a7f134a3cfad14a36a6ad 242056 lazarus_4.8+dfsg-2.debian.tar.xz
d6cee8243ef476f902980c30526175e67b89f255c982ae223bda5f279bc8393d 21909 lazarus_4.8+dfsg-2_amd64.buildinfo
Files:
4923c9568398f1b373fd9b081caacdd9 3150 devel optional lazarus_4.8+dfsg-2.dsc
06f00bf0b212b6f186180d3396791087 242056 devel optional lazarus_4.8+dfsg-2.debian.tar.xz
c25455440916a921b9f4e1dd7f022eee 21909 devel optional lazarus_4.8+dfsg-2_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----
iIcEAREKAC8WIQS69sZENhB4UNQicQazJVxtVYeNjAUCaj/9IREcbWF6ZW5AZGVi
aWFuLm9yZwAKCRCzJVxtVYeNjK1wAPsHrRW+M9K7viGOoPAOWORCXk+uR9+flfyr
j17CXA6ujgD8DrNNNFAcNpttx7xGV2Y1Ds53478TX7K8Y7WzrB+CYjc=
=/UK8
-----END PGP SIGNATURE-----