Source: stone
Version: 2.4-1.1
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`,
stone failed to rebuild.

Log Summary:
-------------------------------------------------------------------------------
[...]
 debian/rules clean
dh_testdir
dh_testroot
rm -f *-stamp
/usr/bin/make clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
rm -f stone md5c.o stone.exe stone.obj md5c.obj stone.o logmsg.o MSG00001.bin logmsg.h logmsg.rc cryptoapi.o
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
rm -f stone.ja.1
dh_clean
 debian/rules binary
dh_testdir
dh_auto_build -- linux-ssl SSL_FLAGS="-DUSE_SSL -I/usr/include/openssl """ \
SSL_LIBS="-L/usr/lib/ssl/lib -lssl -lcrypto"
make -j4 linux-ssl "SSL_FLAGS=-DUSE_SSL -I/usr/include/openssl " "SSL_LIBS=-L/usr/lib/ssl/lib -lssl -lcrypto"
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make TARGET=linux ssl_stone LIBS="-ldl"
make[2]: Entering directory '/<<PKGBUILDDIR>>'
make FLAGS="-DUSE_POP -DUSE_SSL -I/usr/include/openssl " LIBS="-ldl -L/usr/lib/ssl/lib -lssl -lcrypto" linux
make[3]: Entering directory '/<<PKGBUILDDIR>>'
make FLAGS="-O -Wall -DCPP='\"/usr/bin/cpp -traditional\"' -DPTHREAD -DUNIX_DAEMON -DPRCTL -DSO_ORIGINAL_DST=80 -DUSE_EPOLL -D_GNU_SOURCE -DUSE_POP -DUSE_SSL -I/usr/include/openssl " LIBS="-lpthread -ldl -L/usr/lib/ssl/lib -lssl -lcrypto" stone
make[4]: Entering directory '/<<PKGBUILDDIR>>'
cc -D_GNU_SOURCE -g -O -Wall -DCPP='"/usr/bin/cpp -traditional"' -DPTHREAD -DUNIX_DAEMON -DPRCTL -DSO_ORIGINAL_DST=80 -DUSE_EPOLL -D_GNU_SOURCE -DUSE_POP -DUSE_SSL -I/usr/include/openssl -o stone stone.c -lpthread -ldl -L/usr/lib/ssl/lib -lssl -lcrypto
stone.c: In function ‘popPASS’:
stone.c:5860:5: warning: ‘MD5_Init’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
 5860 |     MD5Init(&context);
      |     ^~~~~~~
In file included from stone.c:456:
/usr/include/openssl/md5.h:49:27: note: declared here
   49 | OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c);
      |                           ^~~~~~~~
stone.c:5861:5: warning: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
 5861 |     MD5Update(&context, str, tlen + plen);
      |     ^~~~~~~~~
/usr/include/openssl/md5.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
      |                           ^~~~~~~~~~
stone.c:5862:5: warning: ‘MD5_Final’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
 5862 |     MD5Final(digest, &context);
      |     ^~~~~~~~
/usr/include/openssl/md5.h:51:27: note: declared here
   51 | OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c);
      |                           ^~~~~~~~~
stone.c: In function ‘sslopts_default’:
stone.c:9244:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 9244 |         opts->meth = SSLv23_server_method();
      |                    ^
stone.c:9265:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 9265 |         opts->meth = SSLv23_client_method();
      |                    ^
stone.c: In function ‘sslopts’:
stone.c:9367:9: warning: ‘TLSv1_server_method’ is deprecated: Since OpenSSL 1.1.0 [-Wdeprecated-declarations]
 9367 |         if (isserver) opts->meth = TLSv1_server_method();
      |         ^~
In file included from stone.c:346:
/usr/include/openssl/ssl.h:2064:50: note: declared here
2064 | OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_server_method(void); | ^~~~~~~~~~~~~~~~~~~ stone.c:9367:34: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 9367 |         if (isserver) opts->meth = TLSv1_server_method();
      |                                  ^
stone.c:9368:9: warning: ‘TLSv1_client_method’ is deprecated: Since OpenSSL 1.1.0 [-Wdeprecated-declarations]
 9368 |         else opts->meth = TLSv1_client_method();
      |         ^~~~
/usr/include/openssl/ssl.h:2065:50: note: declared here
2065 | OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_client_method(void); | ^~~~~~~~~~~~~~~~~~~ stone.c:9368:25: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 9368 |         else opts->meth = TLSv1_client_method();
      |                         ^
stone.c:9372:9: warning: ‘TLSv1_2_server_method’ is deprecated: Since OpenSSL 1.1.0 [-Wdeprecated-declarations]
 9372 |         if (isserver) opts->meth = TLSv1_2_server_method();
      |         ^~
/usr/include/openssl/ssl.h:2080:50: note: declared here
2080 | OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_2_server_method(void); | ^~~~~~~~~~~~~~~~~~~~~ stone.c:9372:34: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 9372 |         if (isserver) opts->meth = TLSv1_2_server_method();
      |                                  ^
stone.c:9373:9: warning: ‘TLSv1_2_client_method’ is deprecated: Since OpenSSL 1.1.0 [-Wdeprecated-declarations]
 9373 |         else opts->meth = TLSv1_2_client_method();
      |         ^~~~
/usr/include/openssl/ssl.h:2081:50: note: declared here
2081 | OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_2_client_method(void); | ^~~~~~~~~~~~~~~~~~~~~ stone.c:9373:25: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 9373 |         else opts->meth = TLSv1_2_client_method();
      |                         ^
stone.c:9377:9: warning: ‘TLSv1_1_server_method’ is deprecated: Since OpenSSL 1.1.0 [-Wdeprecated-declarations]
 9377 |         if (isserver) opts->meth = TLSv1_1_server_method();
      |         ^~
/usr/include/openssl/ssl.h:2072:50: note: declared here
2072 | OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_1_server_method(void); | ^~~~~~~~~~~~~~~~~~~~~ stone.c:9377:34: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 9377 |         if (isserver) opts->meth = TLSv1_1_server_method();
      |                                  ^
stone.c:9378:9: warning: ‘TLSv1_1_client_method’ is deprecated: Since OpenSSL 1.1.0 [-Wdeprecated-declarations]
 9378 |         else opts->meth = TLSv1_1_client_method();
      |         ^~~~
/usr/include/openssl/ssl.h:2073:50: note: declared here
2073 | OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_1_client_method(void); | ^~~~~~~~~~~~~~~~~~~~~ stone.c:9378:25: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 9378 |         else opts->meth = TLSv1_1_client_method();
      |                         ^
stone.c: In function ‘mkstone’:
stone.c:8641:61: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size between 94 and 104 [-Wformat-truncation=] 8641 | snprintf(mesg, STRMAX, "stone %d: connecting to %s by ",
      |                                                             ^~
 8642 |                      (int)stone->sd, addrport);
| ~~~~~~~~ stone.c:8641:13: note: ‘snprintf’ output between 28 and 165 bytes into a destination of size 127 8641 | snprintf(mesg, STRMAX, "stone %d: connecting to %s by ", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 8642 |                      (int)stone->sd, addrport);
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~
stone.c: In function ‘openconfig’:
stone.c:9049:42: warning: ‘: ’ directive output may be truncated writing 2 bytes into a region of size between 1 and 2048 [-Wformat-truncation=]
 9049 |                 snprintf(str, BUFMAX, "%s: ", buf);
      |                                          ^~
stone.c:9049:17: note: ‘snprintf’ output between 3 and 2050 bytes into a destination of size 2048
 9049 |                 snprintf(str, BUFMAX, "%s: ", buf);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[4]: Leaving directory '/<<PKGBUILDDIR>>'
make[3]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
touch build-arch-stamp
dh_testdir
dh_testroot
dh_prep
dh_installdirs
install -m 755 -o root stone /<<PKGBUILDDIR>>/debian/stone/usr/bin/stone
install: cannot change ownership of '/<<PKGBUILDDIR>>/debian/stone/usr/bin/stone': Operation not permitted
make: *** [debian/rules:43: install] Error 1
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2024-11-18T16:10: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/1046530.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