• Bug#1104884: ibm-3270: will FTBFS during trixie support period

    From Santiago Vila@21:1/5 to All on Wed May 7 22:50:02 2025
    Package: src:ibm-3270
    Version: 4.3ga10-4
    Severity: serious
    Tags: ftbfs trixie sid
    User: debian-qa@lists.debian.org
    Usertags: ftbfs-during-trixie-support-period

    Dear maintainer:

    During a rebuild of all packages in unstable in the year 2028, your package failed to build:

    --------------------------------------------------------------------------------
    [...]
    PASS
    make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj/x86_64-pc-linux-gnu/lib32xx/test'
    make[2]: Leaving directory '/<<PKGBUILDDIR>>/lib/32xx' ......................s......................................................................s.......................ssConnection failed:
    TLS: Host certificate verification failed:
    certificate has expired (10)
    EsConnection failed:
    TLS: Host certificate verification failed:
    certificate has expired (10)
    EException in thread Thread-101 (do_wrap):
    Traceback (most recent call last):
    F File "/usr/lib/python3.13/threading.py", line 1041, in _bootstrap_inner
    self.run()
    ~~~~~~~~^^
    File "/usr/lib/python3.13/threading.py", line 992, in run
    self._target(*self._args, **self._kwargs)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/<<PKGBUILDDIR>>/s3270/Test/testTls.py", line 219, in do_wrap
    server.wrap()
    ~~~~~~~~~~~^^
    File "/<<PKGBUILDDIR>>/Common/Test/tls_server.py", line 63, in wrap
    self.conn = self.context.wrap_socket(self.clear_conn, server_side=True)
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/ssl.py", line 455, in wrap_socket
    return self.sslsocket_class._create(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    sock=sock,
    ^^^^^^^^^^
    ...<5 lines>...
    session=session
    ^^^^^^^^^^^^^^^
    )
    ^
    File "/usr/lib/python3.13/ssl.py", line 1076, in _create
    self.do_handshake()
    ~~~~~~~~~~~~~~~~~^^
    File "/usr/lib/python3.13/ssl.py", line 1372, in do_handshake
    self._sslobj.do_handshake()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
    ssl.SSLError: [SSL: SSLV3_ALERT_CERTIFICATE_EXPIRED] ssl/tls alert certificate expired (_ssl.c:1029)
    ..E.Connection failed:
    TLS: Host certificate verification failed:
    certificate has expired (10) Ess.......s..........ssssss.............................ssss...............ss.sss....pr3287: Socket read: Connection reset by peer
    .s..
    ======================================================================
    ERROR: test_s3270_blocking_connect (s3270.Test.testTls.TestS3270Tls.test_s3270_blocking_connect)
    ---------------------------------------------------------------------- Traceback (most recent call last):
    File "/<<PKGBUILDDIR>>/s3270/Test/testTls.py", line 308, in test_s3270_blocking_connect
    server.wrap()
    ~~~~~~~~~~~^^
    File "/<<PKGBUILDDIR>>/Common/Test/tls_server.py", line 63, in wrap
    self.conn = self.context.wrap_socket(self.clear_conn, server_side=True)
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/ssl.py", line 455, in wrap_socket
    return self.sslsocket_class._create(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    sock=sock,
    ^^^^^^^^^^
    ...<5 lines>...
    session=session
    ^^^^^^^^^^^^^^^
    )
    ^
    File "/usr/lib/python3.13/ssl.py", line 1076, in _create
    self.do_handshake()
    ~~~~~~~~~~~~~~~~~^^
    File "/usr/lib/python3.13/ssl.py", line 1372, in do_handshake
    self._sslobj.do_handshake()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
    ssl.SSLError: [SSL: SSLV3_ALERT_CERTIFICATE_EXPIRED] ssl/tls alert certificate expired (_ssl.c:1029)

    ======================================================================
    ERROR: test_s3270_starttls (s3270.Test.testTls.TestS3270Tls.test_s3270_starttls)
    ---------------------------------------------------------------------- Traceback (most recent call last):
    File "/<<PKGBUILDDIR>>/s3270/Test/testTls.py", line 94, in test_s3270_starttls
    server.starttls()
    ~~~~~~~~~~~~~~~^^
    File "/<<PKGBUILDDIR>>/Common/Test/tls_server.py", line 78, in starttls
    self.wrap()
    ~~~~~~~~~^^
    File "/<<PKGBUILDDIR>>/Common/Test/tls_server.py", line 63, in wrap
    self.conn = self.context.wrap_socket(self.clear_conn, server_side=True)
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/ssl.py", line 455, in wrap_socket
    return self.sslsocket_class._create(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    sock=sock,
    ^^^^^^^^^^
    ...<5 lines>...
    session=session
    ^^^^^^^^^^^^^^^
    )
    ^
    File "/usr/lib/python3.13/ssl.py", line 1076, in _create
    self.do_handshake()
    ~~~~~~~~~~~~~~~~~^^
    File "/usr/lib/python3.13/ssl.py", line 1372, in do_handshake
    self._sslobj.do_handshake()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
    ssl.SSLError: [SSL: SSLV3_ALERT_CERTIFICATE_EXPIRED] ssl/tls alert certificate expired (_ssl.c:1029)

    ======================================================================
    ERROR: test_s3270_tls_max (s3270.Test.testTls.TestS3270Tls.test_s3270_tls_max) ---------------------------------------------------------------------- Traceback (most recent call last):
    File "/<<PKGBUILDDIR>>/s3270/Test/testTls.py", line 161, in test_s3270_tls_max
    server.wrap()
    ~~~~~~~~~~~^^
    File "/<<PKGBUILDDIR>>/Common/Test/tls_server.py", line 63, in wrap
    self.conn = self.context.wrap_socket(self.clear_conn, server_side=True)
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/ssl.py", line 455, in wrap_socket
    return self.sslsocket_class._create(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    sock=sock,
    ^^^^^^^^^^
    ...<5 lines>...
    session=session
    ^^^^^^^^^^^^^^^
    )
    ^
    File "/usr/lib/python3.13/ssl.py", line 1076, in _create
    self.do_handshake()
    ~~~~~~~~~~~~~~~~~^^
    File "/usr/lib/python3.13/ssl.py", line 1372, in do_handshake
    self._sslobj.do_handshake()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
    ssl.SSLError: [SSL: SSLV3_ALERT_CERTIFICATE_EXPIRED] ssl/tls alert certificate expired (_ssl.c:1029)

    ======================================================================
    ERROR: test_s3270_tls_smoke (s3270.Test.testTls.TestS3270Tls.test_s3270_tls_smoke)
    ---------------------------------------------------------------------- Traceback (most recent call last):
    File "/<<PKGBUILDDIR>>/s3270/Test/testTls.py", line 60, in test_s3270_tls_smoke
    server.wrap()
    ~~~~~~~~~~~^^
    File "/<<PKGBUILDDIR>>/Common/Test/tls_server.py", line 63, in wrap
    self.conn = self.context.wrap_socket(self.clear_conn, server_side=True)
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/ssl.py", line 455, in wrap_socket
    return self.sslsocket_class._create(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    sock=sock,
    ^^^^^^^^^^
    ...<5 lines>...
    session=session
    ^^^^^^^^^^^^^^^
    )
    ^
    File "/usr/lib/python3.13/ssl.py", line 1076, in _create
    self.do_handshake()
    ~~~~~~~~~~~~~~~~~^^
    File "/usr/lib/python3.13/ssl.py", line 1372, in do_handshake
    self._sslobj.do_handshake()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
    ssl.SSLError: [SSL: SSLV3_ALERT_CERTIFICATE_EXPIRED] ssl/tls alert certificate expired (_ssl.c:1029)

    ======================================================================
    FAIL: test_s3270_tls_basic_min_max (s3270.Test.testTls.TestS3270Tls.test_s3270_tls_basic_min_max)
    ---------------------------------------------------------------------- Traceback (most recent call last):
    File "/<<PKGBUILDDIR>>/s3270/Test/testTls.py", line 244, in test_s3270_tls_basic_min_max
    self.assertEqual(r.status_code, 200, 'Expected HTTP success for Open()')
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: 400 != 200 : Expected HTTP success for Open()

    ----------------------------------------------------------------------
    Ran 251 tests in 50.500s

    FAILED (failures=1, errors=4, skipped=47)
    make[1]: *** [Makefile:447: pytests] Error 1
    make[1]: Leaving directory '/<<PKGBUILDDIR>>'
    rm -fr -- /tmp/dh-xdg-rundir-RLU6DW3H
    dh_auto_test: error: make -j2 test "TESTSUITEFLAGS=-j2 --verbose" VERBOSE=1 returned exit code 2
    make: *** [debian/rules:12: binary] Error 25
    dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 --------------------------------------------------------------------------------

    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/~sanvila/build-logs/ftbfs-future/

    About the archive rebuild: This is an effort to keep trixie free from FTBFS bugs
    during its lifetime as a supported distribution, as explained here:

    https://lists.debian.org/debian-devel/2024/05/msg00414.html

    This category of bugs is considered to be RC for trixie.

    The build was made using sbuild and a reduced chroot with only
    build-essential packages.

    If you could not reproduce the bug please contact me privately, as I
    am willing to provide ssh access to a virtual machine where the bug is
    fully reproducible.

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

    Thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)