I use the errands
package to manage as a todo manager and it depends on python-caldav
which is available through AUR
.
When I try to update python-caldav
it fails:
Output
yay -Syu
[sudo] password for tarquinio:
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
multilib is up to date
:: Searching AUR for updates...
:: Searching databases for updates...
-> Packages not in AUR: python-backcall
-> Orphan (unmaintained) AUR Packages: gcstar
-> Flagged Out Of Date AUR Packages: perl-ogg-vorbis-header-pureperl
:: 1 package to upgrade/install.
1 aur/python-caldav 1.3.6-1 -> 1.3.9-1
==> Packages to exclude: (eg: "1 2 3", "1-3", "^4" or repo name)
-> Excluding packages may cause partial upgrades and break systems
==>
AUR Dependency (1): python-caldav-1.3.9-1
:: PKGBUILD up to date, skipping download: python-caldav
1 python-caldav (Installed) (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> i
:: Deleting (1/1): /home/tarquinio/.cache/yay/python-caldav
HEAD is now at 4b9dc25 1.3.9
warning: could not open directory 'pkg/': Permission denied
Removing caldav-1.3.9.tar.gz
Removing pkg/
Removing src/
1 python-caldav (Installed) (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> a
:: Proceed with install? [Y/n] y
==> Making package: python-caldav 1.3.9-1 (ter 02 jan 2024 12:27:36)
==> Retrieving sources...
-> Downloading caldav-1.3.9.tar.gz...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 122k 0 122k 0 0 144k 0 --:--:-- --:--:-- --:--:-- 144k
==> WARNING: Skipping verification of source file PGP signatures.
==> Validating source files with sha256sums...
caldav-1.3.9.tar.gz ... Passed
:: (1/1) Parsing SRCINFO: python-caldav
==> Making package: python-caldav 1.3.9-1 (ter 02 jan 2024 12:27:37)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Found caldav-1.3.9.tar.gz
==> Validating source files with sha256sums...
caldav-1.3.9.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
-> Extracting caldav-1.3.9.tar.gz with bsdtar
==> Sources are ready.
==> Making package: python-caldav 1.3.9-1 (ter 02 jan 2024 12:27:39)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting build()...
* Getting build dependencies for wheel...
running egg_info
creating caldav.egg-info
writing caldav.egg-info/PKG-INFO
writing dependency_links to caldav.egg-info/dependency_links.txt
writing requirements to caldav.egg-info/requires.txt
writing top-level names to caldav.egg-info/top_level.txt
writing manifest file 'caldav.egg-info/SOURCES.txt'
file caldav.py (for module caldav) not found
reading manifest file 'caldav.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'changelog.0.8.md'
adding license file 'COPYING.APACHE'
adding license file 'COPYING.GPL'
writing manifest file 'caldav.egg-info/SOURCES.txt'
* Building wheel...
running bdist_wheel
running build
running build_py
file caldav.py (for module caldav) not found
creating build
creating build/lib
creating build/lib/caldav
copying caldav/__init__.py -> build/lib/caldav
copying caldav/davclient.py -> build/lib/caldav
copying caldav/objects.py -> build/lib/caldav
copying caldav/requests.py -> build/lib/caldav
creating build/lib/caldav/elements
copying caldav/elements/__init__.py -> build/lib/caldav/elements
copying caldav/elements/base.py -> build/lib/caldav/elements
copying caldav/elements/cdav.py -> build/lib/caldav/elements
copying caldav/elements/dav.py -> build/lib/caldav/elements
copying caldav/elements/ical.py -> build/lib/caldav/elements
creating build/lib/caldav/lib
copying caldav/lib/__init__.py -> build/lib/caldav/lib
copying caldav/lib/debug.py -> build/lib/caldav/lib
copying caldav/lib/error.py -> build/lib/caldav/lib
copying caldav/lib/namespace.py -> build/lib/caldav/lib
copying caldav/lib/python_utilities.py -> build/lib/caldav/lib
copying caldav/lib/url.py -> build/lib/caldav/lib
copying caldav/lib/vcal.py -> build/lib/caldav/lib
running egg_info
writing caldav.egg-info/PKG-INFO
writing dependency_links to caldav.egg-info/dependency_links.txt
writing requirements to caldav.egg-info/requires.txt
writing top-level names to caldav.egg-info/top_level.txt
file caldav.py (for module caldav) not found
reading manifest file 'caldav.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'changelog.0.8.md'
adding license file 'COPYING.APACHE'
adding license file 'COPYING.GPL'
writing manifest file 'caldav.egg-info/SOURCES.txt'
file caldav.py (for module caldav) not found
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/caldav
copying build/lib/caldav/__init__.py -> build/bdist.linux-x86_64/wheel/caldav
copying build/lib/caldav/davclient.py -> build/bdist.linux-x86_64/wheel/caldav
copying build/lib/caldav/objects.py -> build/bdist.linux-x86_64/wheel/caldav
copying build/lib/caldav/requests.py -> build/bdist.linux-x86_64/wheel/caldav
creating build/bdist.linux-x86_64/wheel/caldav/elements
copying build/lib/caldav/elements/__init__.py -> build/bdist.linux-x86_64/wheel/caldav/elements
copying build/lib/caldav/elements/base.py -> build/bdist.linux-x86_64/wheel/caldav/elements
copying build/lib/caldav/elements/cdav.py -> build/bdist.linux-x86_64/wheel/caldav/elements
copying build/lib/caldav/elements/dav.py -> build/bdist.linux-x86_64/wheel/caldav/elements
copying build/lib/caldav/elements/ical.py -> build/bdist.linux-x86_64/wheel/caldav/elements
creating build/bdist.linux-x86_64/wheel/caldav/lib
copying build/lib/caldav/lib/__init__.py -> build/bdist.linux-x86_64/wheel/caldav/lib
copying build/lib/caldav/lib/debug.py -> build/bdist.linux-x86_64/wheel/caldav/lib
copying build/lib/caldav/lib/error.py -> build/bdist.linux-x86_64/wheel/caldav/lib
copying build/lib/caldav/lib/namespace.py -> build/bdist.linux-x86_64/wheel/caldav/lib
copying build/lib/caldav/lib/python_utilities.py -> build/bdist.linux-x86_64/wheel/caldav/lib
copying build/lib/caldav/lib/url.py -> build/bdist.linux-x86_64/wheel/caldav/lib
copying build/lib/caldav/lib/vcal.py -> build/bdist.linux-x86_64/wheel/caldav/lib
running install_egg_info
Copying caldav.egg-info to build/bdist.linux-x86_64/wheel/caldav-1.3.9-py3.11.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/caldav-1.3.9.dist-info/WHEEL
creating '/home/tarquinio/.cache/yay/python-caldav/src/caldav-1.3.9/dist/.tmp-nsefx28m/caldav-1.3.9-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'caldav/__init__.py'
adding 'caldav/davclient.py'
adding 'caldav/objects.py'
adding 'caldav/requests.py'
adding 'caldav/elements/__init__.py'
adding 'caldav/elements/base.py'
adding 'caldav/elements/cdav.py'
adding 'caldav/elements/dav.py'
adding 'caldav/elements/ical.py'
adding 'caldav/lib/__init__.py'
adding 'caldav/lib/debug.py'
adding 'caldav/lib/error.py'
adding 'caldav/lib/namespace.py'
adding 'caldav/lib/python_utilities.py'
adding 'caldav/lib/url.py'
adding 'caldav/lib/vcal.py'
adding 'caldav-1.3.9.dist-info/COPYING.APACHE'
adding 'caldav-1.3.9.dist-info/COPYING.GPL'
adding 'caldav-1.3.9.dist-info/METADATA'
adding 'caldav-1.3.9.dist-info/WHEEL'
adding 'caldav-1.3.9.dist-info/top_level.txt'
adding 'caldav-1.3.9.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built caldav-1.3.9-py3-none-any.whl
==> Starting check()...
============================= test session starts ==============================
platform linux -- Python 3.11.6, pytest-7.4.3, pluggy-1.3.0
rootdir: /home/tarquinio/.cache/yay/python-caldav/src/caldav-1.3.9
plugins: subtests-0.11.0, cov-4.1.0
collected 121 items
tests/test_caldav.py s.s..s..s............ss..............s....s........ [ 42%]
...........s...............s.. [ 66%]
tests/test_caldav_unit.py ............................. [ 90%]
tests/test_cdav.py ......FF [ 97%]
tests/test_utils.py . [ 98%]
tests/test_vcal.py .. [100%]
=================================== FAILURES ===================================
_________ TestErrorUnitTestBot.test_to_utc_date_string_with_exception __________
ts = datetime.datetime(1, 1, 1, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/Lisbon'))
def _to_utc_date_string(ts):
# type (Union[date,datetime]]) -> str
"""coerce datetimes to UTC (assume localtime if nothing is given)"""
if isinstance(ts, datetime):
try:
## for any python version, this should work for a non-native
## timestamp.
## in python 3.6 and higher, ts.astimezone() will assume a
## naive timestamp is localtime (and so do we)
> ts = ts.astimezone(utc_tz)
E ValueError: year 0 is out of range
caldav/elements/cdav.py:30: ValueError
During handling of the above exception, another exception occurred:
self = <tests.test_cdav.TestErrorUnitTestBot object at 0x7f971391ec90>
def test_to_utc_date_string_with_exception(self):
"""
ts = datetime.datetime(1, 1, 1)
"""
# This test fails because function [caldav.elements.cdav._to_utc_date_string] produces [OverflowError]
> _to_utc_date_string(datetime.datetime(1, 1, 1))
tests/test_cdav.py:72:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
ts = datetime.datetime(1, 1, 1, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/Lisbon'))
def _to_utc_date_string(ts):
# type (Union[date,datetime]]) -> str
"""coerce datetimes to UTC (assume localtime if nothing is given)"""
if isinstance(ts, datetime):
try:
## for any python version, this should work for a non-native
## timestamp.
## in python 3.6 and higher, ts.astimezone() will assume a
## naive timestamp is localtime (and so do we)
ts = ts.astimezone(utc_tz)
except:
## native time stamp and the current python version is
## not able to treat it as localtime.
import tzlocal
ts = ts.replace(tzinfo=tzlocal.get_localzone())
mindate = datetime.min.replace(tzinfo=utc_tz)
maxdate = datetime.max.replace(tzinfo=utc_tz)
> if mindate + ts.tzinfo.utcoffset(ts) > ts:
E OverflowError: date value out of range
caldav/elements/cdav.py:40: OverflowError
____________ TestRegressionUnitTestBot.test_to_utc_date_string_min _____________
ts = datetime.datetime(1, 1, 1, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/Lisbon'))
def _to_utc_date_string(ts):
# type (Union[date,datetime]]) -> str
"""coerce datetimes to UTC (assume localtime if nothing is given)"""
if isinstance(ts, datetime):
try:
## for any python version, this should work for a non-native
## timestamp.
## in python 3.6 and higher, ts.astimezone() will assume a
## naive timestamp is localtime (and so do we)
> ts = ts.astimezone(utc_tz)
E ValueError: year 0 is out of range
caldav/elements/cdav.py:30: ValueError
During handling of the above exception, another exception occurred:
self = <tests.test_cdav.TestRegressionUnitTestBot object at 0x7f97138c1f10>
def test_to_utc_date_string_min(self):
input_datetime = datetime.datetime(1, 1, 1)
> res = _to_utc_date_string(input_datetime)
tests/test_cdav.py:78:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
ts = datetime.datetime(1, 1, 1, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/Lisbon'))
def _to_utc_date_string(ts):
# type (Union[date,datetime]]) -> str
"""coerce datetimes to UTC (assume localtime if nothing is given)"""
if isinstance(ts, datetime):
try:
## for any python version, this should work for a non-native
## timestamp.
## in python 3.6 and higher, ts.astimezone() will assume a
## naive timestamp is localtime (and so do we)
ts = ts.astimezone(utc_tz)
except:
## native time stamp and the current python version is
## not able to treat it as localtime.
import tzlocal
ts = ts.replace(tzinfo=tzlocal.get_localzone())
mindate = datetime.min.replace(tzinfo=utc_tz)
maxdate = datetime.max.replace(tzinfo=utc_tz)
> if mindate + ts.tzinfo.utcoffset(ts) > ts:
E OverflowError: date value out of range
caldav/elements/cdav.py:40: OverflowError
=========================== short test summary info ============================
FAILED tests/test_cdav.py::TestErrorUnitTestBot::test_to_utc_date_string_with_exception - OverflowError: date value out of range
FAILED tests/test_cdav.py::TestRegressionUnitTestBot::test_to_utc_date_string_min - OverflowError: date value out of range
================== 2 failed, 109 passed, 10 skipped in 16.68s ==================
==> ERROR: A failure occurred in check().
Aborting...
-> error making: python-caldav-exit status 4
-> Failed to install the following packages. Manual intervention is required:
python-caldav - exit status 4
Any suggestions to fix this?