Hi,

somewhat recently new official buildds were added with IPv6-only
connectivity. I'm not aware of an announcement, but I noticed this
with #962019, where src:perl suddenly failed to build due to test suite
failures.

This was quickly diagnosed to be a result of passing the AI_ADDRCONFIG
flag to getaddrinfo(3). Quoting from that manual page:

   If hints.ai_flags includes the AI_ADDRCONFIG flag, then IPv4 addresses
   are returned in the list pointed to by res only if the local system has
   at least one IPv4 address configured, and IPv6 addresses are returned
   only if the local system has at least one IPv6 address configured.
   The loopback address is not considered for this case as valid as a
   configured address. This flag is useful on, for example, IPv4-only
   systems, to ensure that getaddrinfo() does not return IPv6 socket
   addresses that would always fail in connect(2) or bind(2).

We patched the src:perl test suite to work around this, but it soon
became evident that this was not an isolated case.

I've since done a test rebuild of the archive on a system with no internet
connectivity at all but an IPv6 address configured on a non-lo device.
I found a handful of generic "needs-internet" bugs that I've filed separate
bugs about, and 130 build failures related to the IPv6-only setup.

My understanding is that all these failures are latent issues that will
become visible when an IPv6-only buildd happens to try and build such a
package. So they should be fixed; not sure if this should be considered
release critical.

It turns out that a majority of these failures are in the Perl world:
88 of the 130 failures can be fixed just by changing libio-socket-ip-perl.
I've filed #964902 about this.

However, 42 packages remain that are failing for me and not affected
by the libio-socket-ip-perl part of this (or at least not fixed by my
proposed patch in #964902). I've eyeballed many of them and most if
not all have AI_ADDRCONFIG handling in their source code. So I'm pretty
sure of the results, but of course it wouldn't hurt for other people to
recheck them. An easy-ish way to do that should be something like

 # unshare -n
 # ip li set lo up
 # ip dev add dummy0 type dummy
 # ip li set dummy0 up

FWIW, while the amount of breakage does not seem massive, I think the
numbers indicate that it might be good at least not to build the stable
suites on these IPv6-only buildds. I'm not sure what the plan is there.

Below is the list of remaining failures; a dd-list is also attached.
A few already have bugs filed but not nearly all.

Apologies in case there are false positives; I've spent quite a bit of
time on this and did what I could to weed those out.

capnproto_0.7.0-6
clamav_0.102.3+dfsg-1
datalad_0.12.6-1
feersum_1.407-2
glib2.0_2.64.3-1
gromacs_2020.2-2
h2o_2.2.5+dfsg2-5
haskell-conduit-extra_1.3.5-1
haskell-http-client_0.6.4.1-1
haskell-http-conduit_2.3.7.3-1
haskell-yesod-core_1.6.18-1
inn2_2.6.3+20200601-1
iodine_0.7.0-9
lbcd_3.5.2-3
libapache2-mod-perl2_2.0.11-2
libpqtypes_1.5.1-5
libvirt_6.0.0-7
m2crypto_0.35.2-2
myproxy_6.2.6-1
nbd_3.20-1
nbdkit_1.20.4-3
neon27_0.31.1-1
ngircd_26-1
nmh_1.7.1-6
nng_1.3.0-1
openconnect_8.10-1
remctl_3.16-4
restinio_0.6.6-1
ruby-em-http-request_1.1.5-2
ruby-em-redis_0.3.0+gh-2
ruby-em-websocket_0.5.1-2
ruby-eventmachine_1.3~pre20190820-g10fb0c4-2
ruby-excon_0.72.0-2
ruby-rack_2.1.1-5
ruby-remcached_0.4.1-3
ruby-sinatra_2.0.8.1-2
ruby-twitter-stream_0.1.16-3
ruby-vcr_5.1.0-2
spamassassin_3.4.4-1
sslsplit_0.5.5-1
stunnel4_5.56+dfsg-3
tendermint-go-p2p_0.0~git20170113.0.3d98f67-1

Happy hacking,
-- 
Niko Tyni   nt...@debian.org
Alessio Treglia <ales...@debian.org>
   tendermint-go-p2p (U)

Alexander Zangerl <a...@debian.org>
   nmh

Andreas Cadhalpun <andreas.cadhal...@googlemail.com>
   clamav (U)

Anton Gladky <gl...@debian.org>
   h2o (U)

Apollon Oikonomopoulos <apoi...@debian.org>
   h2o

Chris Lamb <la...@debian.org>
   ruby-rack (U)

Christoph Berg <m...@debian.org>
   libpqtypes (U)

Christoph Biedl <debian.a...@manchmal.in-ulm.de>
   ngircd

ClamAV Team <pkg-clamav-de...@lists.alioth.debian.org>
   clamav

Clint Adams <cl...@debian.org>
   haskell-conduit-extra (U)
   haskell-http-client (U)
   haskell-http-conduit (U)
   haskell-yesod-core (U)

Damyan Ivanov <d...@debian.org>
   libapache2-mod-perl2 (U)

Debian GNOME Maintainers <pkg-gnome-maintain...@lists.alioth.debian.org>
   glib2.0

Debian Go Packaging Team <pkg-go-maintain...@lists.alioth.debian.org>
   tendermint-go-p2p

Debian Haskell Group <pkg-haskell-maintain...@lists.alioth.debian.org>
   haskell-conduit-extra
   haskell-http-client
   haskell-http-conduit
   haskell-yesod-core

Debian Libvirt Maintainers <pkg-libvirt-maintain...@lists.alioth.debian.org>
   libvirt

Debian Perl Group <pkg-perl-maintain...@lists.alioth.debian.org>
   feersum
   libapache2-mod-perl2

Debian PostgreSQL Maintainers <team+postgre...@tracker.debian.org>
   libpqtypes

Debian Python Modules Team <python-modules-t...@lists.alioth.debian.org>
   m2crypto (U)

Debian QA Group <packa...@qa.debian.org>
   lbcd

Debian Ruby Extras Maintainers 
<pkg-ruby-extras-maintain...@lists.alioth.debian.org>
   ruby-em-http-request
   ruby-em-redis
   ruby-em-websocket
   ruby-eventmachine
   ruby-excon
   ruby-rack
   ruby-remcached
   ruby-sinatra
   ruby-twitter-stream
   ruby-vcr

Debichem Team <debichem-de...@lists.alioth.debian.org>
   gromacs

Dominic Hargreaves <d...@earth.li>
   libapache2-mod-perl2 (U)

Felix Salfelder <fe...@salfelder.org>
   restinio

gregor herrmann <gre...@debian.org>
   iodine
   libapache2-mod-perl2 (U)

Guido Günther <a...@sigxcpu.org>
   libvirt (U)

Hilko Bengen <ben...@debian.org>
   nbdkit
   sslsplit

Iain Lane <la...@debian.org>
   glib2.0 (U)

Ivan Kohler <ivan-deb...@420.am>
   libapache2-mod-perl2 (U)

Jonas Genannt <jonas.gena...@capi2name.de>
   ruby-twitter-stream (U)

Laszlo Boszormenyi (GCS) <g...@debian.org>
   neon27
   nng
   stunnel4 (U)

Laurent Arnoud <laur...@spkdev.net>
   ruby-eventmachine (U)

Laurent Léonard <laur...@open-minds.org>
   libvirt (U)

Luca Boccassi <bl...@debian.org>
   openconnect (U)

Lucas Nussbaum <lu...@debian.org>
   ruby-rack (U)

Manas Kashyap <manaskashyapt...@gmail.com>
   ruby-em-websocket (U)

Marco d'Itri <m...@linux.it>
   inn2

Mathieu Parent <sath...@debian.org>
   ruby-vcr (U)

Mattias Ellert <mattias.ell...@physics.uu.se>
   myproxy

Michael Hanke <m...@debian.org>
   datalad (U)

Michael Meskes <mes...@debian.org>
   clamav (U)

Michael Tautschnig <m...@debian.org>
   clamav (U)

Mike Miller <mtmil...@debian.org>
   openconnect

NeuroDebian Team <t...@datalad.org>
   datalad

Nicholas Breen <nbr...@debian.org>
   gromacs (U)

Niko Tyni <nt...@debian.org>
   libapache2-mod-perl2 (U)

Noah Meyerhans <no...@debian.org>
   spamassassin

Paul van Tilburg <pau...@debian.org>
   ruby-eventmachine (U)
   ruby-rack (U)

Per Andersson <avtob...@gmail.com>
   ruby-eventmachine (U)

Peter Pentchev <r...@debian.org>
   stunnel4

Pirate Praveen <prav...@debian.org>
   ruby-em-redis (U)
   ruby-excon (U)
   ruby-sinatra (U)
   ruby-twitter-stream (U)

Praveen Arimbrathodiyil <prav...@debian.org>
   ruby-remcached (U)

Russ Allbery <r...@debian.org>
   remctl

Sandro Tosi <mo...@debian.org>
   m2crypto

Scott Kitterman <sc...@kitterman.com>
   clamav (U)

Sebastian Andrzej Siewior <sebast...@breakpoint.cc>
   clamav (U)

Tollef Fog Heen <tfh...@debian.org>
   ruby-em-http-request (U)

Tom Lee <deb...@tomlee.co>
   capnproto

tony mancill <tmanc...@debian.org>
   capnproto (U)
   iodine (U)

Utkarsh Gupta <utka...@debian.org>
   ruby-excon (U)
   ruby-rack (U)

Wouter Verhelst <wou...@debian.org>
   nbd

Xavier Guimard <y...@debian.org>
   feersum (U)
   libapache2-mod-perl2 (U)

Yaroslav Halchenko <deb...@onerussian.com>
   datalad (U)

Youhei SASAKI <uwab...@gfd-dennou.org>
   ruby-rack (U)
   ruby-sinatra (U)

Reply via email to