Source: udevil
Version: 0.4.4-3.2
Severity: important
Tags: ftbfs
Justification: FTBFS
X-Debbugs-Cc: [email protected]
User: [email protected]
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`,
udevil failed to rebuild.

Log Summary:
-------------------------------------------------------------------------------
[...]
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~
udevil.c: In function ‘mount_device’:
udevil.c:2219:9: warning: ignoring return value of ‘setreuid’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2219 |         setreuid( 0, -1 );  // mount needs real uid
      |         ^~~~~~~~~~~~~~~~~
udevil.c:2220:9: warning: ignoring return value of ‘setregid’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2220 |         setregid( 0, -1 );
      |         ^~~~~~~~~~~~~~~~~
udevil.c:2245:9: warning: ignoring return value of ‘setreuid’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2245 |         setreuid( orig_ruid, -1 );
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
udevil.c:2246:9: warning: ignoring return value of ‘setregid’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2246 |         setregid( orig_rgid, -1 );
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
udevil.c: In function ‘exec_program’:
udevil.c:2016:9: warning: ignoring return value of ‘setreuid’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2016 |         setreuid( 0, -1 );  // mount needs real uid
      |         ^~~~~~~~~~~~~~~~~
udevil.c:2017:9: warning: ignoring return value of ‘setregid’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2017 |         setregid( 0, -1 );
      |         ^~~~~~~~~~~~~~~~~
udevil.c:2035:9: warning: ignoring return value of ‘setreuid’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2035 |         setreuid( orig_ruid, -1 );
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
udevil.c:2036:9: warning: ignoring return value of ‘setregid’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2036 |         setregid( orig_rgid, -1 );
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
/bin/bash ../libtool --tag=CC --mode=link gcc -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -pthread -Werror-implicit-function-declaration -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-O1 -Wl,-Bsymbolic-functions -o udevil udevil-udevil.o udevil-device-info.o udevil-canonicalize.o -lglib-2.0 -ludev libtool: link: gcc -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -Werror-implicit-function-declaration -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,--as-needed -Wl,-O1 -Wl,-Bsymbolic-functions -o udevil udevil-udevil.o udevil-device-info.o udevil-canonicalize.o -lglib-2.0 -ludev -pthread
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[3]: Entering directory '/<<PKGBUILDDIR>>'
make[3]: Leaving directory '/<<PKGBUILDDIR>>'
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>>'
Making check in etc
make[2]: Entering directory '/<<PKGBUILDDIR>>/etc'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/etc'
Making check in po
make[2]: Entering directory '/<<PKGBUILDDIR>>/po'
rm -f missing notexist
srcdir=. /usr/bin/intltool-update -m
if [ -r missing -o -r notexist ]; then \
  exit 1; \
fi
make[2]: Leaving directory '/<<PKGBUILDDIR>>/po'
Making check in src
make[2]: Entering directory '/<<PKGBUILDDIR>>/src'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
make[2]: Leaving 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 -j1 install DESTDIR=/<<PKGBUILDDIR>>/debian/udevil AM_UPDATE_INFO_DIR=no
make[2]: Entering directory '/<<PKGBUILDDIR>>'
Making install in etc
make[3]: Entering directory '/<<PKGBUILDDIR>>/etc'
make[4]: Entering directory '/<<PKGBUILDDIR>>/etc'
make[4]: Nothing to be done for 'install-exec-am'.
make  install-data-hook
make[5]: Entering directory '/<<PKGBUILDDIR>>/etc'
test -d /<<PKGBUILDDIR>>/debian/udevil//etc/udevil || mkdir -p -- \
                        /<<PKGBUILDDIR>>/debian/udevil//etc/udevil
test -f /<<PKGBUILDDIR>>/debian/udevil//etc/udevil/udevil.conf || /usr/bin/install -c -m 644 \
                        ./udevil.conf \
                        /<<PKGBUILDDIR>>/debian/udevil//etc/udevil/udevil.conf
test -d /<<PKGBUILDDIR>>/debian/udevil//etc/conf.d || mkdir -p -- \
                        /<<PKGBUILDDIR>>/debian/udevil//etc/conf.d
test -f /<<PKGBUILDDIR>>/debian/udevil//etc/conf.d/devmon || /usr/bin/install -c -m 644 \
                        ./systemd/devmon \
                        /<<PKGBUILDDIR>>/debian/udevil//etc/conf.d/devmon
test -d /<<PKGBUILDDIR>>/debian/udevil//usr/lib/aarch64-linux-gnu/systemd/system || \ mkdir -p -- /<<PKGBUILDDIR>>/debian/udevil//usr/lib/aarch64-linux-gnu/systemd/system
/usr/bin/install -c -m 644 ./systemd/[email protected] \
/<<PKGBUILDDIR>>/debian/udevil//usr/lib/aarch64-linux-gnu/systemd/system/[email protected]
make[5]: Leaving directory '/<<PKGBUILDDIR>>/etc'
make[4]: Leaving directory '/<<PKGBUILDDIR>>/etc'
make[3]: Leaving directory '/<<PKGBUILDDIR>>/etc'
Making install in po
make[3]: Entering directory '/<<PKGBUILDDIR>>/po'
linguas="de es fr it pl pt_BR ru sv "; \
for lang in $linguas; do \
  dir=/<<PKGBUILDDIR>>/debian/udevil/usr/share/locale/$lang/LC_MESSAGES; \
  /bin/bash /<<PKGBUILDDIR>>/install-sh -d $dir; \
  if test -r $lang.gmo; then \
    /usr/bin/install -c -m 644 $lang.gmo $dir/udevil.mo; \
    echo "installing $lang.gmo as $dir/udevil.mo"; \
  else \
    /usr/bin/install -c -m 644 ./$lang.gmo $dir/udevil.mo; \
    echo "installing ./$lang.gmo as" \
         "$dir/udevil.mo"; \
  fi; \
  if test -r $lang.gmo.m; then \
    /usr/bin/install -c -m 644 $lang.gmo.m $dir/udevil.mo.m; \
    echo "installing $lang.gmo.m as $dir/udevil.mo.m"; \
  else \
    if test -r ./$lang.gmo.m ; then \
      /usr/bin/install -c -m 644 ./$lang.gmo.m \
        $dir/udevil.mo.m; \
      echo "installing ./$lang.gmo.m as" \
           "$dir/udevil.mo.m"; \
    else \
      true; \
    fi; \
  fi; \
done
installing de.gmo as /<<PKGBUILDDIR>>/debian/udevil/usr/share/locale/de/LC_MESSAGES/udevil.mo installing es.gmo as /<<PKGBUILDDIR>>/debian/udevil/usr/share/locale/es/LC_MESSAGES/udevil.mo installing fr.gmo as /<<PKGBUILDDIR>>/debian/udevil/usr/share/locale/fr/LC_MESSAGES/udevil.mo installing it.gmo as /<<PKGBUILDDIR>>/debian/udevil/usr/share/locale/it/LC_MESSAGES/udevil.mo installing pl.gmo as /<<PKGBUILDDIR>>/debian/udevil/usr/share/locale/pl/LC_MESSAGES/udevil.mo installing pt_BR.gmo as /<<PKGBUILDDIR>>/debian/udevil/usr/share/locale/pt_BR/LC_MESSAGES/udevil.mo installing ru.gmo as /<<PKGBUILDDIR>>/debian/udevil/usr/share/locale/ru/LC_MESSAGES/udevil.mo installing sv.gmo as /<<PKGBUILDDIR>>/debian/udevil/usr/share/locale/sv/LC_MESSAGES/udevil.mo
make[3]: Leaving directory '/<<PKGBUILDDIR>>/po'
Making install in src
make[3]: Entering directory '/<<PKGBUILDDIR>>/src'
make[4]: Entering directory '/<<PKGBUILDDIR>>/src'
 /usr/bin/mkdir -p '/<<PKGBUILDDIR>>/debian/udevil/usr/bin'
 /usr/bin/install -c devmon '/<<PKGBUILDDIR>>/debian/udevil/usr/bin'
make  install-data-hook
make[5]: Entering directory '/<<PKGBUILDDIR>>/src'
test -z /<<PKGBUILDDIR>>/debian/udevil//usr/bin || mkdir -p -- /<<PKGBUILDDIR>>/debian/udevil//usr/bin /usr/bin/install -c -m 644 -o root -g root -m 4755 -D ../src/udevil /<<PKGBUILDDIR>>/debian/udevil//usr/bin/udevil /usr/bin/install: cannot change ownership of '/<<PKGBUILDDIR>>/debian/udevil//usr/bin/udevil': Operation not permitted
make[5]: *** [Makefile:770: install-data-hook] Error 1
make[5]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[4]: *** [Makefile:698: install-data-am] Error 2
make[4]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[3]: *** [Makefile:647: install-am] Error 2
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[2]: *** [Makefile:442: install-recursive] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_install: error: make -j1 install DESTDIR=/<<PKGBUILDDIR>>/debian/udevil AM_UPDATE_INFO_DIR=no returned exit code 2
make[1]: *** [debian/rules:13: override_dh_auto_install] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:10: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2024-11-18T18:48:15Z

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


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/1049166.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