Source: libpam-ccreds
Version: 10-10
Severity: important
Tags: ftbfs
Justification: FTBFS
X-Debbugs-Cc: ni...@thykier.net
User: ni...@thykier.net
Usertags: rrr-no-as-default-issue

Dear maintainer,

During a test rebuild for building packages with
`Rules-Requires-Root: no` as the default in `dpkg`,
libpam-ccreds failed to rebuild.

Log Summary:
-------------------------------------------------------------------------------
[...]
automake: warning: autoconf input should be named 'configure.ac', not 'configure.in'
   debian/rules override_dh_auto_configure
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_configure -- --enable-gcrypt ./configure --build=aarch64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/lib/aarch64-linux-gnu --libexecdir=\${prefix}/lib/aarch64-linux-gnu --runstatedir=/run --disable-maintainer-mode --disable-dependency-tracking --enable-gcrypt
checking build system type... aarch64-unknown-linux-gnu
checking host system type... aarch64-unknown-linux-gnu
checking target system type... aarch64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... none
checking how to run the C preprocessor... gcc -E
checking for gpgrt-config... /usr/bin/gpgrt-config
configure: Use gpgrt-config as libgcrypt-config
checking for LIBGCRYPT - version >= 1.2.0... yes (1.11.0)
checking for security/pam_appl.h... yes
checking for security/pam_misc.h... yes
checking for security/pam_modules.h... yes
checking for pam/pam_appl.h... no
checking for pam/pam_misc.h... no
checking for pam/pam_modules.h... no
checking for db.h... yes
checking for main in -ldb... yes
checking for pam_start in -lpam... yes
checking for misc_conv in -lpam_misc... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_auto_build
        make -j8
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make  all-am
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -D_REENTRANT -fno-strict-aliasing -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -fPIC -c -o cc_db.o cc_db.c gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -D_REENTRANT -fno-strict-aliasing -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -fPIC -c -o cc_lib.o cc_lib.c gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -D_REENTRANT -fno-strict-aliasing -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -fPIC -c -o cc_pam.o cc_pam.c gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -D_REENTRANT -fno-strict-aliasing -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -fPIC -c -o cc_test.o cc_test.c gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -D_REENTRANT -fno-strict-aliasing -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -fPIC -c -o cc_dump.o cc_dump.c gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -D_REENTRANT -fno-strict-aliasing -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -fPIC -c -o ccreds_chkpwd.o ccreds_chkpwd.c
cc_lib.c: In function ‘pam_cc_run_helper_binary’:
cc_lib.c:687:25: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  687 |                         write(fds[1], passwd, strlen(passwd) + 1);
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc_lib.c:690:25: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 690 | write(fds[1], "", 1); /* blank password */
      |                         ^~~~~~~~~~~~~~~~~~~~
gcc -fno-strict-aliasing -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -fPIC -shared -Wl,-Bdynamic -Wl,--version-script,./exports.linux -Wl,-z,relro -Wl,-z,now -o pam_ccreds.so cc_db.o cc_lib.o cc_pam.o -L/usr/lib/aarch64-linux-gnu -lgcrypt -lpam_misc -lpam -ldb gcc -fno-strict-aliasing -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -fPIC -Wl,-rpath -Wl,/usr/lib/aarch64-linux-gnu/security -Wl,-z,relro -Wl,-z,now -o cc_test cc_test.o pam_ccreds.so -lpam -lpam_misc -lpam_misc -lpam -ldb gcc -fno-strict-aliasing -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -fPIC -Wl,-rpath -Wl,/usr/lib/aarch64-linux-gnu/security -Wl,-z,relro -Wl,-z,now -o cc_dump cc_dump.o pam_ccreds.so -lpam -lpam_misc -lpam_misc -lpam -ldb gcc -fno-strict-aliasing -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -fPIC -Wl,-rpath -Wl,/usr/lib/aarch64-linux-gnu/security -Wl,-z,relro -Wl,-z,now -o ccreds_chkpwd ccreds_chkpwd.o pam_ccreds.so -lpam -lpam_misc -lpam_misc -lpam -ldb make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_auto_test
        make -j8 check "TESTSUITEFLAGS=-j8 --verbose" VERBOSE=1
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   create-stamp debian/debhelper-build-stamp
   dh_prep
   debian/rules override_dh_auto_install
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_install
make -j8 install DESTDIR=/<<PKGBUILDDIR>>/debian/libpam-ccreds AM_UPDATE_INFO_DIR=no
make[2]: Entering directory '/<<PKGBUILDDIR>>'
make[3]: Entering directory '/<<PKGBUILDDIR>>'
/bin/bash ./mkinstalldirs /<<PKGBUILDDIR>>/debian/libpam-ccreds/usr/lib/aarch64-linux-gnu/security
make[3]: Nothing to be done for 'install-data-am'.
 /usr/bin/mkdir -p '/<<PKGBUILDDIR>>/debian/libpam-ccreds/usr/sbin'
mkdir -p -- /<<PKGBUILDDIR>>/debian/libpam-ccreds/usr/lib/aarch64-linux-gnu/security /usr/bin/install -c -o root -g root pam_ccreds.so /<<PKGBUILDDIR>>/debian/libpam-ccreds/usr/lib/aarch64-linux-gnu/security/pam_ccreds.so /usr/bin/install -c ccreds_chkpwd '/<<PKGBUILDDIR>>/debian/libpam-ccreds/usr/sbin' /usr/bin/install: cannot change ownership of '/<<PKGBUILDDIR>>/debian/libpam-ccreds/usr/lib/aarch64-linux-gnu/security/pam_ccreds.so': Operation not permitted
make[3]: *** [Makefile:868: install-exec-local] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: *** [Makefile:735: install-am] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_install: error: make -j8 install DESTDIR=/<<PKGBUILDDIR>>/debian/libpam-ccreds AM_UPDATE_INFO_DIR=no returned exit code 2
make[1]: *** [debian/rules:17: override_dh_auto_install] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:11: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2024-11-17T03:53:59Z

-------------------------------------------------------------------------------


The above is just how the build ends and not necessarily the most
relevant part. If required, the full build log is available here:

https://people.debian.org/~nthykier/rrr-no-as-default/logs/1013828.gz

You can find common solutions at
https://people.debian.org/~nthykier/rrr-no-as-default/docs/solutions.md

If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.

If this package is listed in
https://people.debian.org/~nthykier/rrr-no-as-default/docs/static-ownership.list,
then please just set `Rules-Requires-Root: binary-targets` to the source
stanza of `debian/control` as a fix to this bug.

If this package is listed in
https://people.debian.org/~nthykier/rrr-no-as-default/docs/maybe-misbuilds.list,
then the package was deemed at risk for misbuilding (having wrong
ownership) but had a FTBFS problem we tested it. Please test whether the
package works with `Rules-Requires-Root: no` validating that the
resulting deb has the correct ownership for all paths in the deb.

The goal is to have the default changed in `dpkg` either in `Trixie` or
`Forky`, depending on progress and feasibility with the release schedule
for Trixie.

For more information on this bug filing, please see:
https://lists.debian.org/debian-dpkg/2024/11/msg00016.html

Thanks,


PS: The builds were performed in mid-November. If you fixed the problem
between between then and this bug being filed, then please just close
the bug with the version it was fixed in.

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to