Source: python-tempora Version: 5.3.0-1 Severity: serious Justification: FTBFS Tags: trixie sid ftbfs User: lu...@debian.org Usertags: ftbfs-20230925 ftbfs-trixie
Hi, During a rebuild of all packages in sid, your package failed to build on amd64. Relevant part (hopefully): > debian/rules binary > dh binary --with python3 --buildsystem=pybuild --test-pytest > dh_update_autotools_config -O--buildsystem=pybuild -O--test-pytest > dh_autoreconf -O--buildsystem=pybuild -O--test-pytest > dh_auto_configure -O--buildsystem=pybuild -O--test-pytest > dh_auto_build -O--buildsystem=pybuild -O--test-pytest > I: pybuild plugin_pyproject:110: Building wheel for python3.11 with "build" > module > I: pybuild base:291: python3.11 -m build --skip-dependency-check > --no-isolation --wheel --outdir > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tempora > * Building wheel... > running bdist_wheel > running build > running build_py > creating build > creating build/lib > creating build/lib/tempora > copying tempora/__init__.py -> build/lib/tempora > copying tempora/timing.py -> build/lib/tempora > copying tempora/schedule.py -> build/lib/tempora > copying tempora/utc.py -> build/lib/tempora > running egg_info > creating tempora.egg-info > writing tempora.egg-info/PKG-INFO > writing dependency_links to tempora.egg-info/dependency_links.txt > writing entry points to tempora.egg-info/entry_points.txt > writing requirements to tempora.egg-info/requires.txt > writing top-level names to tempora.egg-info/top_level.txt > writing manifest file 'tempora.egg-info/SOURCES.txt' > reading manifest file 'tempora.egg-info/SOURCES.txt' > adding license file 'LICENSE' > writing manifest file 'tempora.egg-info/SOURCES.txt' > installing to build/bdist.linux-x86_64/wheel > running install > running install_lib > creating build/bdist.linux-x86_64 > creating build/bdist.linux-x86_64/wheel > creating build/bdist.linux-x86_64/wheel/tempora > copying build/lib/tempora/__init__.py -> > build/bdist.linux-x86_64/wheel/tempora > copying build/lib/tempora/timing.py -> build/bdist.linux-x86_64/wheel/tempora > copying build/lib/tempora/schedule.py -> > build/bdist.linux-x86_64/wheel/tempora > copying build/lib/tempora/utc.py -> build/bdist.linux-x86_64/wheel/tempora > running install_egg_info > Copying tempora.egg-info to > build/bdist.linux-x86_64/wheel/tempora-5.3.0.egg-info > running install_scripts > creating build/bdist.linux-x86_64/wheel/tempora-5.3.0.dist-info/WHEEL > creating > '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tempora/.tmp-ufwl34rz/tempora-5.3.0-py3-none-any.whl' > and adding 'build/bdist.linux-x86_64/wheel' to it > adding 'tempora/__init__.py' > adding 'tempora/schedule.py' > adding 'tempora/timing.py' > adding 'tempora/utc.py' > adding 'tempora-5.3.0.dist-info/LICENSE' > adding 'tempora-5.3.0.dist-info/METADATA' > adding 'tempora-5.3.0.dist-info/WHEEL' > adding 'tempora-5.3.0.dist-info/entry_points.txt' > adding 'tempora-5.3.0.dist-info/top_level.txt' > adding 'tempora-5.3.0.dist-info/RECORD' > removing build/bdist.linux-x86_64/wheel > Successfully built tempora-5.3.0-py3-none-any.whl > I: pybuild plugin_pyproject:122: Unpacking wheel built for python3.11 with > "installer" module > dh_auto_test -O--buildsystem=pybuild -O--test-pytest > I: pybuild pybuild:314: cp -va /<<PKGBUILDDIR>>/pytest.ini > /<<PKGBUILDDIR>>/tests /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tempora/build/ > '/<<PKGBUILDDIR>>/pytest.ini' -> > '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tempora/build/pytest.ini' > '/<<PKGBUILDDIR>>/tests' -> > '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tempora/build/tests' > '/<<PKGBUILDDIR>>/tests/test_schedule.py' -> > '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tempora/build/tests/test_schedule.py' > '/<<PKGBUILDDIR>>/tests/test_timing.py' -> > '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tempora/build/tests/test_timing.py' > I: pybuild base:291: cd > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tempora/build; python3.11 -m pytest > -k 'not tempora.get_nearest_year_for_day' > ============================= test session starts > ============================== > platform linux -- Python 3.11.5, pytest-7.4.2, pluggy-1.3.0 > rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tempora/build > configfile: pytest.ini > collected 42 items / 1 deselected / 41 selected > > tempora/__init__.py ........... [ > 26%] > tempora/schedule.py F.. [ > 34%] > tempora/timing.py ..... [ > 46%] > tempora/utc.py . [ > 48%] > tests/test_schedule.py .............F.F... [ > 95%] > tests/test_timing.py .. > [100%] > > =================================== FAILURES > =================================== > __________________________ [doctest] tempora.schedule > __________________________ > 001 > 002 Classes for calling functions a schedule. Has time zone support. > 003 > 004 For example, to run a job at 08:00 every morning in 'Asia/Calcutta': > 005 > 006 >>> job = lambda: print("time is now", datetime.datetime()) > 007 >>> time = datetime.time(8, tzinfo=pytz.timezone('Asia/Calcutta')) > UNEXPECTED EXCEPTION: UnknownTimeZoneError('Asia/Calcutta') > Traceback (most recent call last): > File "/usr/lib/python3.11/doctest.py", line 1351, in __run > exec(compile(example.source, filename, "single", > File "<doctest tempora.schedule[1]>", line 1, in <module> > File "/usr/lib/python3/dist-packages/pytz/__init__.py", line 202, in > timezone > raise UnknownTimeZoneError(zone) > pytz.exceptions.UnknownTimeZoneError: 'Asia/Calcutta' > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tempora/build/tempora/schedule.py:7: > UnexpectedException > __________________ TestTimezones.test_alternate_timezone_west > __________________ > > self = <test_schedule.TestTimezones object at 0x7f67b0c612d0> > > def test_alternate_timezone_west(self): > > target_tz = pytz.timezone('US/Pacific') > > tests/test_schedule.py:80: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > zone = 'US/Pacific' > > def timezone(zone): > r''' Return a datetime.tzinfo implementation for the given timezone > > >>> from datetime import datetime, timedelta > >>> utc = timezone('UTC') > >>> eastern = timezone('US/Eastern') > >>> eastern.zone > 'US/Eastern' > >>> timezone(unicode('US/Eastern')) is eastern > True > >>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc) > >>> loc_dt = utc_dt.astimezone(eastern) > >>> fmt = '%Y-%m-%d %H:%M:%S %Z (%z)' > >>> loc_dt.strftime(fmt) > '2002-10-27 01:00:00 EST (-0500)' > >>> (loc_dt - timedelta(minutes=10)).strftime(fmt) > '2002-10-27 00:50:00 EST (-0500)' > >>> eastern.normalize(loc_dt - timedelta(minutes=10)).strftime(fmt) > '2002-10-27 01:50:00 EDT (-0400)' > >>> (loc_dt + timedelta(minutes=10)).strftime(fmt) > '2002-10-27 01:10:00 EST (-0500)' > > Raises UnknownTimeZoneError if passed an unknown zone. > > >>> try: > ... timezone('Asia/Shangri-La') > ... except UnknownTimeZoneError: > ... print('Unknown') > Unknown > > >>> try: > ... timezone(unicode('\N{TRADE MARK SIGN}')) > ... except UnknownTimeZoneError: > ... print('Unknown') > Unknown > > ''' > if zone is None: > raise UnknownTimeZoneError(None) > > if zone.upper() == 'UTC': > return utc > > try: > zone = ascii(zone) > except UnicodeEncodeError: > # All valid timezones are ASCII > raise UnknownTimeZoneError(zone) > > zone = _case_insensitive_zone_lookup(_unmunge_zone(zone)) > if zone not in _tzinfo_cache: > if zone in all_timezones_set: # noqa > fp = open_resource(zone) > try: > _tzinfo_cache[zone] = build_tzinfo(zone, fp) > finally: > fp.close() > else: > > raise UnknownTimeZoneError(zone) > E pytz.exceptions.UnknownTimeZoneError: 'US/Pacific' > > /usr/lib/python3/dist-packages/pytz/__init__.py:202: UnknownTimeZoneError > _____________________ TestTimezones.test_daylight_savings > ______________________ > > self = <test_schedule.TestTimezones object at 0x7f67b0c620d0> > > def test_daylight_savings(self): > """ > A command at 9am should always be 9am regardless of > a DST boundary. > """ > with freezegun.freeze_time('2018-03-10 08:00:00'): > > target_tz = pytz.timezone('US/Eastern') > > tests/test_schedule.py:97: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > zone = 'US/Eastern' > > def timezone(zone): > r''' Return a datetime.tzinfo implementation for the given timezone > > >>> from datetime import datetime, timedelta > >>> utc = timezone('UTC') > >>> eastern = timezone('US/Eastern') > >>> eastern.zone > 'US/Eastern' > >>> timezone(unicode('US/Eastern')) is eastern > True > >>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc) > >>> loc_dt = utc_dt.astimezone(eastern) > >>> fmt = '%Y-%m-%d %H:%M:%S %Z (%z)' > >>> loc_dt.strftime(fmt) > '2002-10-27 01:00:00 EST (-0500)' > >>> (loc_dt - timedelta(minutes=10)).strftime(fmt) > '2002-10-27 00:50:00 EST (-0500)' > >>> eastern.normalize(loc_dt - timedelta(minutes=10)).strftime(fmt) > '2002-10-27 01:50:00 EDT (-0400)' > >>> (loc_dt + timedelta(minutes=10)).strftime(fmt) > '2002-10-27 01:10:00 EST (-0500)' > > Raises UnknownTimeZoneError if passed an unknown zone. > > >>> try: > ... timezone('Asia/Shangri-La') > ... except UnknownTimeZoneError: > ... print('Unknown') > Unknown > > >>> try: > ... timezone(unicode('\N{TRADE MARK SIGN}')) > ... except UnknownTimeZoneError: > ... print('Unknown') > Unknown > > ''' > if zone is None: > raise UnknownTimeZoneError(None) > > if zone.upper() == 'UTC': > return utc > > try: > zone = ascii(zone) > except UnicodeEncodeError: > # All valid timezones are ASCII > raise UnknownTimeZoneError(zone) > > zone = _case_insensitive_zone_lookup(_unmunge_zone(zone)) > if zone not in _tzinfo_cache: > if zone in all_timezones_set: # noqa > fp = open_resource(zone) > try: > _tzinfo_cache[zone] = build_tzinfo(zone, fp) > finally: > fp.close() > else: > > raise UnknownTimeZoneError(zone) > E pytz.exceptions.UnknownTimeZoneError: 'US/Eastern' > > /usr/lib/python3/dist-packages/pytz/__init__.py:202: UnknownTimeZoneError > =========================== short test summary info > ============================ > FAILED tempora/schedule.py::tempora.schedule > FAILED tests/test_schedule.py::TestTimezones::test_alternate_timezone_west - > ... > FAILED tests/test_schedule.py::TestTimezones::test_daylight_savings - > pytz.ex... > ================== 3 failed, 38 passed, 1 deselected in 1.48s > ================== > E: pybuild pybuild:395: test: plugin pyproject failed with: exit code=1: cd > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_tempora/build; python3.11 -m pytest > -k 'not tempora.get_nearest_year_for_day' > dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11 > returned exit code 13 The full build log is available from: http://qa-logs.debian.net/2023/09/25/python-tempora_5.3.0-1_unstable.log All bugs filed during this archive rebuild are listed at: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20230925;users=lu...@debian.org or: https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230925&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results 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! If you reassign this bug to another package, please mark it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects If you fail to reproduce this, please provide a build log and diff it with mine so that we can identify if something relevant changed in the meantime.