Source: python-netlib
Version: 0.15.1-2
Severity: serious
Tags: stretch sid
User: [email protected]
Usertags: qa-ftbfs-20160828 qa-ftbfs
Justification: FTBFS on amd64
Hi,
During a rebuild of all packages in sid, your package failed to build on
amd64.
Relevant part (hopefully):
> debian/rules build
> dh build --with python2 --buildsystem=pybuild
> dh_testdir -O--buildsystem=pybuild
> dh_update_autotools_config -O--buildsystem=pybuild
> dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:184: python2.7 setup.py config
> running config
> dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:184: /usr/bin/python setup.py build
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib
> copying netlib/version_check.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib
> copying netlib/encoding.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib
> copying netlib/utils.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib
> copying netlib/socks.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib
> copying netlib/wsgi.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib
> copying netlib/exceptions.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib
> copying netlib/tcp.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib
> copying netlib/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib
> copying netlib/certutils.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib
> copying netlib/tutils.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib
> copying netlib/version.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib
> copying netlib/odict.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib
> creating /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test
> copying test/test_utils.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test
> copying test/test_socks.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test
> copying test/test_wsgi.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test
> copying test/test_version_check.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test
> copying test/test_encoding.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test
> copying test/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test
> copying test/tservers.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test
> copying test/test_odict.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test
> copying test/test_certutils.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test
> copying test/test_tcp.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test
> copying test/test_imports.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test
> creating /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/http
> copying netlib/http/response.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/http
> copying netlib/http/message.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/http
> copying netlib/http/request.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/http
> copying netlib/http/cookies.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/http
> copying netlib/http/status_codes.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/http
> copying netlib/http/headers.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/http
> copying netlib/http/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/http
> copying netlib/http/user_agents.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/http
> copying netlib/http/authentication.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/http
> creating /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/websockets
> copying netlib/websockets/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/websockets
> copying netlib/websockets/frame.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/websockets
> copying netlib/websockets/protocol.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/websockets
> creating /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/http/http2
> copying netlib/http/http2/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/http/http2
> copying netlib/http/http2/frame.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/http/http2
> copying netlib/http/http2/connections.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/http/http2
> creating /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/http/http1
> copying netlib/http/http1/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/http/http1
> copying netlib/http/http1/assemble.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/http/http1
> copying netlib/http/http1/read.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/http/http1
> creating /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/http
> copying test/http/test_response.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/http
> copying test/http/test_request.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/http
> copying test/http/test_headers.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/http
> copying test/http/test_message.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/http
> copying test/http/test_user_agents.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/http
> copying test/http/test_cookies.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/http
> copying test/http/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/http
> copying test/http/test_authentication.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/http
> copying test/http/test_status_codes.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/http
> creating /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/websockets
> copying test/websockets/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/websockets
> copying test/websockets/test_websockets.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/websockets
> creating /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/http/http2
> copying test/http/http2/test_protocol.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/http/http2
> copying test/http/http2/test_frames.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/http/http2
> copying test/http/http2/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/http/http2
> creating /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/http/http1
> copying test/http/http1/test_assemble.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/http/http1
> copying test/http/http1/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/http/http1
> copying test/http/http1/test_read.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/http/http1
> running egg_info
> creating netlib.egg-info
> writing requirements to netlib.egg-info/requires.txt
> writing netlib.egg-info/PKG-INFO
> writing top-level names to netlib.egg-info/top_level.txt
> writing dependency_links to netlib.egg-info/dependency_links.txt
> writing manifest file 'netlib.egg-info/SOURCES.txt'
> reading manifest file 'netlib.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no previously-included files matching '*.pyc' found under directory
> '*'
> warning: no previously-included files matching '*.pyo' found under directory
> '*'
> warning: no previously-included files matching '*.swo' found under directory
> '*'
> warning: no previously-included files matching '*.swp' found under directory
> '*'
> writing manifest file 'netlib.egg-info/SOURCES.txt'
> creating /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data
> copying test/data/dercert ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data
> copying test/data/dhparam.pem ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data
> copying test/data/htpasswd ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data
> copying test/data/server.crt ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data
> copying test/data/server.key ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data
> copying test/data/text_cert ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data
> copying test/data/text_cert_2 ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data
> copying test/data/text_cert_weird1 ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data
> creating /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data/clientcert
> copying test/data/clientcert/.gitignore ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data/clientcert
> copying test/data/clientcert/client.cnf ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data/clientcert
> copying test/data/clientcert/client.pem ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data/clientcert
> copying test/data/clientcert/make ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data/clientcert
> creating
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data/verificationcerts
> copying test/data/verificationcerts/9da13359.0 ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data/verificationcerts
> copying test/data/verificationcerts/generate.py ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data/verificationcerts
> copying test/data/verificationcerts/self-signed.crt ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data/verificationcerts
> copying test/data/verificationcerts/self-signed.key ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data/verificationcerts
> copying test/data/verificationcerts/trusted-leaf.crt ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data/verificationcerts
> copying test/data/verificationcerts/trusted-leaf.key ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data/verificationcerts
> copying test/data/verificationcerts/trusted-root.crt ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data/verificationcerts
> copying test/data/verificationcerts/trusted-root.key ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data/verificationcerts
> copying test/data/verificationcerts/trusted-root.srl ->
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/data/verificationcerts
> dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:184: cd /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build;
> python2.7 -m pytest test
> ============================= test session starts
> ==============================
> platform linux2 -- Python 2.7.12+, pytest-2.9.2, py-1.4.31, pluggy-0.3.1
> rootdir: /<<PKGBUILDDIR>>, inifile:
> collected 300 items
>
> test/test_certutils.py ..........
> test/test_encoding.py ...
> test/test_odict.py .................
> test/test_socks.py ..........
> test/test_tcp.py ..................................................F.
> test/test_utils.py ...........
> test/test_version_check.py ...
> test/test_wsgi.py ......
> test/http/test_authentication.py ...........
> test/http/test_cookies.py .......
> test/http/test_headers.py ..........
> test/http/test_message.py ..............
> test/http/test_request.py .......s....................
> test/http/test_response.py ...........
> test/http/test_status_codes.py .
> test/http/test_user_agents.py .
> test/http/http1/test_assemble.py .........
> test/http/http1/test_read.py ..........................
> test/http/http2/test_frames.py .................................
> test/http/http2/test_protocol.py ............................
> test/websockets/test_websockets.py .........
>
> =================================== FAILURES
> ===================================
> __________________________ TestSSLKeyLogger.test_log
> ___________________________
>
> self = <test.test_tcp.TestSSLKeyLogger object at 0x7fd9edc7f750>
>
> def test_log(self):
> testval = b"echo!\n"
> _logfun = tcp.log_ssl_key
>
> with tutils.tmpdir() as d:
> logfile = os.path.join(d, "foo", "bar", "logfile")
> tcp.log_ssl_key = tcp.SSLKeyLogger(logfile)
>
> c = tcp.TCPClient(("127.0.0.1", self.port))
> c.connect()
> c.convert_to_ssl()
> c.wfile.write(testval)
> c.wfile.flush()
> assert c.rfile.readline() == testval
> c.finish()
>
> tcp.log_ssl_key.close()
> with open(logfile, "rb") as f:
> > assert f.read().count(b"CLIENT_RANDOM") == 2
> E assert 0 == 2
> E + where 0 = <built-in method count of str object at
> 0x7fd9ede7f580>('CLIENT_RANDOM')
> E + where <built-in method count of str object at
> 0x7fd9ede7f580> = '\r\n'.count
> E + where '\r\n' = <built-in method read of file object
> at 0x7fd9edc71150>()
> E + where <built-in method read of file object at
> 0x7fd9edc71150> = <open file '/tmp/tmpdr8o5f/foo/bar/logfile', mode 'rb' at
> 0x7fd9edc71150>.read
>
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/test/test_tcp.py:755:
> AssertionError
> ----------------------------- Captured stderr call
> -----------------------------
> From cffi callback From cffi callback <function SSLKeyLogger at
> 0x7fd9edca02a8>:
> Traceback (most recent call last):
> File "/usr/lib/python2.7/dist-packages/OpenSSL/SSL.py", line 933, in wrapper
> callback(Connection._reverse_mapping[ssl], where, return_code)
> File "/<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/tcp.py", line
> 85, in __call__
> client_random = binascii.hexlify(connection.client_random())
> File "/usr/lib/python2.7/dist-packages/OpenSSL/SSL.py", line 1644, in
> client_random
> if self._ssl.session == _ffi.NULL:
> AttributeError: '_cffi_backend.CDataGCP' object has no attribute
> 'session'<function SSLKeyLogger at 0x7fd9edca0320>:
> Traceback (most recent call last):
> File "/usr/lib/python2.7/dist-packages/OpenSSL/SSL.py", line 933, in wrapper
> callback(Connection._reverse_mapping[ssl], where, return_code)
> File "/<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/netlib/tcp.py", line
> 85, in __call__
> client_random = binascii.hexlify(connection.client_random())
>
> File "/usr/lib/python2.7/dist-packages/OpenSSL/SSL.py", line 1644, in
> client_random
> if self._ssl.session == _ffi.NULL:
> AttributeError: '_cffi_backend.CDataGCP' object has no attribute 'session'
> ====== 1 failed, 298 passed, 1 skipped, 1 pytest-warnings in 6.26 seconds
> ======
> E: pybuild pybuild:276: test: plugin distutils failed with: exit code=1: cd
> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build; python2.7 -m pytest test
> dh_auto_test: pybuild --test --test-pytest -i python{version} -p 2.7 returned
> exit code 13
The full build log is available from:
http://people.debian.org/~lucas/logs/2016/08/28/python-netlib_0.15.1-2_unstable.log
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.