Subject: Bug#1044216: efitools: Fails to build source after successful build

From: Lucas Nussbaum <[email-masked]>
Date: Sun, 13 Aug 2023 18:56:53 +0200

Source: efitools
Version: 1.9.2-3
Severity: minor
Tags: trixie sid ftbfs
User: [email-masked]
Usertags: ftbfs-sab-20230813 ftbfs-source-after-build
User: [email-masked]
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 /<<PKGBUILDDIR>> && runuser -u user42 -- dpkg-buildpackage --sanitize-env -us -uc -rfakeroot -S
> -----------------------------------------------------------------------------------------------------------------------
> 
> dpkg-buildpackage: info: source package efitools
> dpkg-buildpackage: info: source version 1.9.2-3
> dpkg-buildpackage: info: source distribution unstable
> dpkg-buildpackage: info: source changed by Steve McIntyre <[email-masked]>
>  dpkg-source --before-build .
>  fakeroot debian/rules clean
> dh clean
>    dh_auto_clean
> 	make -j8 clean
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> rm -f PK.* KEK.* DB.* HelloWorld.efi LockDown.efi Loader.efi ReadVars.efi UpdateVars.efi KeyTool.efi HashTool.efi SetNull.efi ShimReplace.efi HelloWorld-signed.efi LockDown-signed.efi Loader-signed.efi ReadVars-signed.efi UpdateVars-signed.efi KeyTool-signed.efi HashTool-signed.efi SetNull-signed.efi ShimReplace-signed.efi cert-to-efi-sig-list sig-list-to-certs sign-efi-sig-list hash-to-efi-sig-list efi-readvar efi-updatevar cert-to-efi-hash-list flash-var *.o *.so
> rm -f noPK.*
> rm -f doc/*.1
> make -C lib clean
> make[2]: Entering directory '/<<PKGBUILDDIR>>/lib'
> rm -f lib.a
> rm -f lib-efi.a
> rm -f simple_file.o pecoff.o guid.o sha256.o console.o execute.o configtable.o shell.o security_policy.o shim_protocol.o pkcs7verify.o kernel_efivars.o openssl_sign.o
> rm -f simple_file.efi.o pecoff.efi.o guid.efi.o sha256.efi.o console.efi.o execute.efi.o configtable.efi.o shell.efi.o security_policy.efi.o shim_protocol.efi.o pkcs7verify.efi.o variables.o 
> make[2]: Leaving directory '/<<PKGBUILDDIR>>/lib'
> make -C lib/asn1 clean
> make[2]: Entering directory '/<<PKGBUILDDIR>>/lib/asn1'
> rm -f libasn1.a
> rm -f libasn1-efi.a
> rm -f test test.o
> rm -f asn1.o asn1_parser.o enumerator.o chunk.o oid.o identification.o x509.o
> rm -f asn1.efi.o asn1_parser.efi.o enumerator.efi.o chunk.efi.o oid.efi.o identification.efi.o x509.efi.o
> make[2]: Leaving directory '/<<PKGBUILDDIR>>/lib/asn1'
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    dh_clean
> 	rm -f debian/debhelper-build-stamp
> 	rm -rf debian/.debhelper/
> 	rm -f debian/efitools.debhelper.log
> 	rm -f -- debian/efitools.substvars debian/files
> 	rm -fr -- debian/efitools/ debian/tmp/
> 	find .  \( \( \
> 		\( -path .\*/.git -o -path .\*/.svn -o -path .\*/.bzr -o -path .\*/.hg -o -path .\*/CVS -o -path .\*/.pc -o -path .\*/_darcs \) -prune -o -type f -a \
> 	        \( -name '#*#' -o -name '.*~' -o -name '*~' -o -name DEADJOE \
> 		 -o -name '*.orig' -o -name '*.rej' -o -name '*.bak' \
> 		 -o -name '.*.orig' -o -name .*.rej -o -name '.SUMS' \
> 		 -o -name TAGS -o \( -path '*/.deps/*' -a -name '*.P' \) \
> 		\) -exec rm -f {} + \) -o \
> 		\( -type d -a -name autom4te.cache -prune -exec rm -rf {} + \) \)
>  dpkg-source -b .
> dpkg-source: info: using source format '3.0 (quilt)'
> dpkg-source: info: building efitools using existing ./efitools_1.9.2.orig.tar.gz
> dpkg-source: info: using patch list from debian/patches/series
> dpkg-source: error: cannot represent change to DB-blacklist.auth: binary file contents changed
> dpkg-source: error: add DB-blacklist.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to DB-hash-blacklist.auth: binary file contents changed
> dpkg-source: error: add DB-hash-blacklist.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to DB-pkupdate.auth: binary file contents changed
> dpkg-source: error: add DB-pkupdate.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to DB-update.auth: binary file contents changed
> dpkg-source: error: add DB-update.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to DB1-blacklist.auth: binary file contents changed
> dpkg-source: error: add DB1-blacklist.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to DB1-hash-blacklist.auth: binary file contents changed
> dpkg-source: error: add DB1-hash-blacklist.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to DB1-pkupdate.auth: binary file contents changed
> dpkg-source: error: add DB1-pkupdate.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to DB1-update.auth: binary file contents changed
> dpkg-source: error: add DB1-update.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to DB1.auth: binary file contents changed
> dpkg-source: error: add DB1.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to DB2-blacklist.auth: binary file contents changed
> dpkg-source: error: add DB2-blacklist.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to DB2-hash-blacklist.auth: binary file contents changed
> dpkg-source: error: add DB2-hash-blacklist.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to DB2-pkupdate.auth: binary file contents changed
> dpkg-source: error: add DB2-pkupdate.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to DB2-update.auth: binary file contents changed
> dpkg-source: error: add DB2-update.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to DB2.auth: binary file contents changed
> dpkg-source: error: add DB2.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to KEK-blacklist.auth: binary file contents changed
> dpkg-source: error: add KEK-blacklist.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to KEK-hash-blacklist.auth: binary file contents changed
> dpkg-source: error: add KEK-hash-blacklist.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to KEK-pkupdate.auth: binary file contents changed
> dpkg-source: error: add KEK-pkupdate.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to KEK-update.auth: binary file contents changed
> dpkg-source: error: add KEK-update.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to PK-blacklist.auth: binary file contents changed
> dpkg-source: error: add PK-blacklist.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to PK-hash-blacklist.auth: binary file contents changed
> dpkg-source: error: add PK-hash-blacklist.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to PK-pkupdate.auth: binary file contents changed
> dpkg-source: error: add PK-pkupdate.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to PK-update.auth: binary file contents changed
> dpkg-source: error: add PK-update.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to ms-kek-blacklist.auth: binary file contents changed
> dpkg-source: error: add ms-kek-blacklist.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to ms-kek-hash-blacklist.auth: binary file contents changed
> dpkg-source: error: add ms-kek-hash-blacklist.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to ms-kek-pkupdate.auth: binary file contents changed
> dpkg-source: error: add ms-kek-pkupdate.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to ms-kek-update.auth: binary file contents changed
> dpkg-source: error: add ms-kek-update.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to ms-kek.auth: binary file contents changed
> dpkg-source: error: add ms-kek.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to ms-uefi-blacklist.auth: binary file contents changed
> dpkg-source: error: add ms-uefi-blacklist.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to ms-uefi-hash-blacklist.auth: binary file contents changed
> dpkg-source: error: add ms-uefi-hash-blacklist.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to ms-uefi-pkupdate.auth: binary file contents changed
> dpkg-source: error: add ms-uefi-pkupdate.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to ms-uefi-update.auth: binary file contents changed
> dpkg-source: error: add ms-uefi-update.auth in debian/source/include-binaries if you want to store the modified binary in the debian tarball
> dpkg-source: error: cannot represent change to ms-uefi.auth: binary file contents changed
> dpkg-source: error: add ms-uefi.auth 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 /<<PKGBUILDDIR>> && 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/efitools_1.9.2-3_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.