diff --git a/.gitignore b/.gitignore index 880c41f..131b402 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,15 @@ /vdirsyncer-0.9.3.tar.gz /vdirsyncer-0.11.0.tar.gz /vdirsyncer-0.11.2.tar.gz +/vdirsyncer-0.12.1.tar.gz +/vdirsyncer-0.14.0.tar.gz +/vdirsyncer-0.14.1.tar.gz +/vdirsyncer-0.16.0.tar.gz +/vdirsyncer-0.16.2.tar.gz +/vdirsyncer-0.16.3.tar.gz +/vdirsyncer-0.16.7.tar.gz +/vdirsyncer-0.16.8.tar.gz +/vdirsyncer-0.18.0.tar.gz +/vdirsyncer-0.19.2.tar.gz +/vdirsyncer-0.19.3.tar.gz +/vdirsyncer-0.20.0.tar.gz diff --git a/series b/series new file mode 100644 index 0000000..7526468 --- /dev/null +++ b/series @@ -0,0 +1 @@ +vdirsyncer-revert-license-metadata-update.diff diff --git a/sources b/sources index 6ee6136..c25ba16 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -a2dc3e84992f3bd6614afcccfd87c31f vdirsyncer-0.11.2.tar.gz +SHA512 (vdirsyncer-0.19.3.tar.gz) = 8651282302ad62b2bb6f7655429492dcff959cedc25e932d2e72deb2bb54406c6b5333fecdb14ae8c08ba3c20602856e8466198e24caee298fc9a08545fd3751 +SHA512 (vdirsyncer-0.20.0.tar.gz) = 8499440ce8ba036d40f5bbff9d7cadb485be8bb2419d1fbad947f244259dabba9f2527ffff24298f697dd10e6ccd39155ea9547a480c584f64da0eadb993dad7 diff --git a/vdirsyncer-0.6.0-no-scm.patch b/vdirsyncer-0.6.0-no-scm.patch deleted file mode 100644 index 2baa1e1..0000000 --- a/vdirsyncer-0.6.0-no-scm.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -u -r -U5 --no-dereference vdirsyncer-0.6.0/setup.py vdirsyncer-0.6.0.no-scm/setup.py ---- vdirsyncer-0.6.0/setup.py 2015-07-28 09:11:30.000000000 -0400 -+++ vdirsyncer-0.6.0.no-scm/setup.py 2015-08-06 22:15:29.197425743 -0400 -@@ -16,11 +16,11 @@ - setup( - name='vdirsyncer', - use_scm_version={ - 'write_to': 'vdirsyncer/version.py', - }, -- setup_requires=['setuptools_scm'], -+ #setup_requires=['setuptools_scm'], - author='Markus Unterwaditzer', - author_email='markus@unterwaditzer.net', - url='https://github.com/untitaker/vdirsyncer', - description='Synchronize calendars and contacts', - license='MIT', diff --git a/vdirsyncer-revert-license-metadata-update.diff b/vdirsyncer-revert-license-metadata-update.diff new file mode 100644 index 0000000..919b5aa --- /dev/null +++ b/vdirsyncer-revert-license-metadata-update.diff @@ -0,0 +1,19 @@ +Reverting changes in 03d1c4666d701283ceba479174925963fa607f3b but with improvements + +See https://github.com/pimutils/vdirsyncer/pull/1204 for bumping the required setuptools to actually work with the new declarations +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -16,11 +16,11 @@ description = "Synchronize calendars and + readme = "README.rst" + requires-python = ">=3.8" + keywords = ["todo", "task", "icalendar", "cli"] +-license = "BSD-3-Clause" +-license-files = ["LICENSE"] ++license = {file = "LICENSE"} + classifiers = [ + "Development Status :: 4 - Beta", + "Environment :: Console", ++ "License :: OSI Approved :: BSD License", + "Operating System :: POSIX", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.10", diff --git a/vdirsyncer.spec b/vdirsyncer.spec index 072b7cb..4f7147d 100644 --- a/vdirsyncer.spec +++ b/vdirsyncer.spec @@ -2,12 +2,13 @@ # as we need to package both wsgi_intercept and pytest-localserver # for them to work. Will also need BR: pystest once the two # above packages exist in Fedora +%bcond tests 0 -%bcond_with tests -%if 0%{?fedora} -%bcond_without python3 +%if (%{defined fedora} && 0%{?fedora} <= 42) || (%{defined rhel} && 0%{?rhel} <= 10) +# setuptools < 77 does not support PEP 639 +%bcond old_setuptools 1 %else -%bcond_with python3 +%bcond old_setuptools 0 %endif %global sum Synchronize calendars and contacts @@ -16,56 +17,47 @@ %global _docdir_fmt %{name} Name: vdirsyncer -Version: 0.11.2 -Release: 3%{?git_tag}%{?dist} +Version: 0.20.0 +Release: 7%{?dist} Summary: %{sum} -License: MIT -URL: https://github.com/untitaker/%{name} -Source0: https://pypi.python.org/packages/6c/fb/20c32861134579fdce67060bf4cc074e171d30c70590137adc73924f94a6/%{name}-%{version}.tar.gz +License: BSD-3-Clause +URL: https://github.com/pimutils/%{name} +Source: %{pypi_source} +# conditional patches +Patch1000: vdirsyncer-revert-license-metadata-update.diff + BuildArch: noarch +Obsoletes: python2-%{srcname} <= 0.12.1 -BuildRequires: python-atomicwrites -BuildRequires: python-click -BuildRequires: python2-click-log -BuildRequires: python2-click-threading >= 0.4.0 -BuildRequires: python2-devel -BuildRequires: python-icalendar -BuildRequires: python-lxml -BuildRequires: python2-requests -BuildRequires: python2-setuptools -BuildRequires: python2-setuptools_scm -BuildRequires: python2-sphinx -BuildRequires: python2-sphinx_rtd_theme - -%if %{with python3} -BuildRequires: python3-atomicwrites -BuildRequires: python3-click -BuildRequires: python3-click-log +BuildRequires: make +BuildRequires: python3-click >= 5.0 +BuildRequires: python3-click-log >= 0.4 BuildRequires: python3-click-threading >= 0.4.0 BuildRequires: python3-devel BuildRequires: python3-icalendar BuildRequires: python3-lxml -BuildRequires: python3-requests -BuildRequires: python3-requests-oauthlib -BuildRequires: python3-setuptools +BuildRequires: python3-requests >= 2.10 +BuildRequires: python3-requests-toolbelt >= 0.4.0 BuildRequires: python3-setuptools_scm BuildRequires: python3-sphinx BuildRequires: python3-sphinx_rtd_theme -%endif +BuildRequires: python3-aiohttp-oauthlib +BuildRequires: python3-trustme +BuildRequires: python3-pytest-httpserver +BuildRequires: python3-pytest-localserver +BuildRequires: python3-pkg-resources -%if %{with python3} -Requires: python3-atomicwrites >= 0.1.7 Requires: python3-click >= 5.0 -Requires: python3-click-log >= 0.1.3 +Requires: python3-click-log >= 0.4 Requires: python3-click-threading >= 0.4.0 Requires: python3-icalendar Requires: python3-lxml >= 3.1 -Requires: python3-requests >= 2.4.1 -Requires: python3-requests-oauthlib +Requires: python3-requests >= 2.10 Requires: python3-requests-toolbelt >= 0.4.0 +Requires: python3-aiohttp-oauthlib Requires: python3-vdirsyncer = %{version} -%endif +Requires: sqlite %description vdirsyncer synchronizes your calendars and address books between two entities. @@ -74,42 +66,17 @@ more. It aims to be for CalDAV and CardDAV what OfflineIMAP is for IMAP. -%package -n python2-%{srcname} -Summary: %{sum} -%{?python_provide:%python_provide python2-%{srcname}} - -Requires: python-atomicwrites >= 0.1.7 -Requires: python-click >= 5.0 -Requires: python2-click-log >= 0.1.3 -Requires: python2-click-threading >= 0.4.0 -Requires: python-icalendar -Requires: python-lxml >= 3.1 -Requires: python2-requests >= 2.4.1 -Requires: python2-requests-toolbelt >= 0.4.0 - -%description -n python2-%{srcname} -vdirsyncer synchronizes your calendars and address books between two entities. -The supported protocols are CalDAV, CardDAV, arbitrary HTTP resources and some -more. - -It aims to be for CalDAV and CardDAV what OfflineIMAP is for IMAP. -This package contains the python2 modules. - %package -n python3-%{srcname} Summary: %{sum} -%{?python_provide:%python_provide python3-%{srcname}} -%if %{with python3} -Requires: python3-atomicwrites >= 0.1.7 Requires: python3-click >= 5.0 -Requires: python3-click-log >= 0.1.3 +Requires: python3-click-log >= 0.4 Requires: python3-click-threading >= 0.4.0 Requires: python3-icalendar Requires: python3-lxml >= 3.1 -Requires: python3-requests >= 2.4.1 -Requires: python3-requests-oauthlib +Requires: python3-requests >= 2.10 Requires: python3-requests-toolbelt >= 0.4.0 -%endif +Requires: python3-aiohttp-oauthlib %description -n python3-%{srcname} vdirsyncer synchronizes your calendars and address books between two entities. @@ -127,16 +94,24 @@ The vdirsyncer-doc package provides all the documentation for the vdirsyncer calendar/address-book synchronization utility. %prep -%setup -q -#%patch0 -p1 -b .no-scm - -%if %{with python3} -rm -rf %{py3dir} -cp -a . %{py3dir} +%autosetup -N +%autopatch -p1 -M 999 +%if %{with old_setuptools} +%autopatch -p1 1000 %endif +%generate_buildrequires +%pyproject_buildrequires + %build -%py2_build +# Here we set upstream version based on setuptools_scm documentation +# this is done to avoid the following error: +# LookupError: setuptools-scm was unable to detect version +# since we are not importing a .git repository in the tarball +# From: https://athoscr.fedorapeople.org/packaging/python-setuptools_scm_git_archive.spec +export SETUPTOOLS_SCM_PRETEND_VERSION=%{version} +%pyproject_wheel + # Custom sphinx docs need to import vdirsyncer classes from the untarred # source tree export PYTHONPATH=`pwd` @@ -150,41 +125,30 @@ unset PYTHONPATH rm -vrf docs/_build/html/_sources rm -fv docs/_build/html/{.buildinfo,objects.inv} -%if %{with python3} -pushd %{py3dir} -%py3_build -popd -%endif - %install -%py2_install -%if %{with python3} -pushd %{py3dir} -%py3_install -popd -%endif +# Here we set upstream version based on setuptools_scm documentation +# this is done to avoid the following error: +# LookupError: setuptools-scm was unable to detect version +# since we are not importing a .git repository in the tarball +# From: https://athoscr.fedorapeople.org/packaging/python-setuptools_scm_git_archive.spec +export SETUPTOOLS_SCM_PRETEND_VERSION=%{version} +%pyproject_install +%pyproject_save_files -l %{srcname} install -d "$RPM_BUILD_ROOT%{_mandir}/man1" cp -r docs/_build/man/%{name}.1 "$RPM_BUILD_ROOT%{_mandir}/man1" %check +%pyproject_check_import + %if %{with tests} sh build.sh tests %endif -%files -n python2-%{srcname} -%license LICENSE +%files -n python3-%{srcname} -f %{pyproject_files} %doc AUTHORS.rst README.rst CONTRIBUTING.rst -%{python2_sitelib}/* -# If you need the vdirsyncer CLI install the python3 variant -#%{_bindir}/vdirsyncer -%{_mandir}/man1/%{name}.1.* -%files -n python3-%{srcname} -%license LICENSE -%doc AUTHORS.rst README.rst CONTRIBUTING.rst -%{python3_sitelib}/* %files %license LICENSE @@ -197,6 +161,187 @@ sh build.sh tests %doc docs/_build/html docs/_build/text %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 0.20.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Thu Jun 04 2026 Python Maint - 0.20.0-6 +- Rebuilt for Python 3.15 + +* Thu May 07 2026 Tomáš Hrnčiar - 0.20.0-5 +- Add BR on python3-pkg-resources, setuptools 82 dropped pkg_resources + +* Sat Jan 17 2026 Fedora Release Engineering - 0.20.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Tue Dec 16 2025 Michel Lind - 0.20.0-3 +- Support building with old setuptools (pre-PEP 639) + +* Fri Sep 19 2025 Python Maint - 0.20.0-2 +- Rebuilt for Python 3.14.0rc3 bytecode + +* Thu Aug 28 2025 Ben Boeckel - 0.20.0-1 +- Update to 0.20.0 + +* Mon Aug 18 2025 Ben Boeckel - 0.19.3-6 +- Remove atomicwrites dependency (see rhbz#2385436) + +* Fri Aug 15 2025 Python Maint - 0.19.3-5 +- Rebuilt for Python 3.14.0rc2 bytecode + +* Fri Jul 25 2025 Fedora Release Engineering - 0.19.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Wed Jul 09 2025 Ben Boeckel - 0.19.3-3 +- Modernize RPM macros (rhbz#2378494) + +* Tue Jun 03 2025 Python Maint - 0.19.3-2 +- Rebuilt for Python 3.14 + +* Wed May 21 2025 David Kaufmann - 0.19.3-1 +- Update to v0.19.3 + +* Sun Jan 19 2025 Fedora Release Engineering - 0.19.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Sep 04 2024 Miroslav Suchý - 0.19.2-6 +- convert license to SPDX + +* Mon Aug 26 2024 Michel Lind - 0.19.2-5 +- Bump allowed version of aiostream again +- Fixes: RHBZ#2308075 + +* Sat Jul 20 2024 Fedora Release Engineering - 0.19.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sun Jun 09 2024 Python Maint - 0.19.2-3 +- Rebuilt for Python 3.13 + +* Sat Feb 03 2024 David Kaufmann - 0.19.2-1 +- Update to v0.19.2 + +* Sat Jan 27 2024 Fedora Release Engineering - 0.18.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 0.18.0-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jun 15 2023 Python Maint - 0.18.0-9 +- Rebuilt for Python 3.12 + +* Sat Jan 21 2023 Fedora Release Engineering - 0.18.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Aug 17 2022 David Kaufmann - 0.18.0-7 +- Fix autogenerated dependency + +* Mon Aug 15 2022 David Kaufmann - 0.18.0-6 +- Update click-log dependency in all places + +* Sat Jul 23 2022 Fedora Release Engineering - 0.18.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jun 15 2022 Python Maint - 0.18.0-4 +- Rebuilt for Python 3.11 + +* Fri Mar 18 2022 David Kaufmann - 0.18.0-3 +- Update click-log dependency + +* Sat Jan 22 2022 Fedora Release Engineering - 0.18.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Nov 11 2021 David Kaufmann - 0.18.0-1 +- Update to v0.18.0 + +* Tue Jul 27 2021 Fedora Release Engineering - 0.16.8-7 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 0.16.8-6 +- Rebuilt for Python 3.10 + +* Wed Jan 27 2021 Fedora Release Engineering - 0.16.8-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sun Nov 01 2020 David Kaufmann - 0.16.8-4 +- Fix patch, as only Patch0 gets applied by default + +* Sat Oct 31 2020 David Kaufmann - 0.16.8-3 +- Fix for python 3.9 deprecation of getiterator + +* Thu Aug 13 2020 David Kaufmann - 0.16.8-1 +- Update to v0.16.8 + +* Wed Jul 29 2020 Fedora Release Engineering - 0.16.7-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue May 26 2020 Miro Hrončok - 0.16.7-8 +- Rebuilt for Python 3.9 + +* Fri Jan 31 2020 Fedora Release Engineering - 0.16.7-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Nov 15 2019 David Kaufmann - 0.16.7-6 +- Fix url +- Inject version string for setuptools_scm, as it builds from tarball, not git + +* Mon Aug 19 2019 Miro Hrončok - 0.16.7-5 +- Rebuilt for Python 3.8 + +* Mon Aug 19 2019 Miro Hrončok - 0.16.7-4 +- Rebuilt for Python 3.8 + +* Sat Jul 27 2019 Fedora Release Engineering - 0.16.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 0.16.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Nov 15 2018 Timothée Floure - 0.16.7-1 +- New upstream release +- Use the proper pypi_source macro to define the source tag + +* Sat Jul 14 2018 Fedora Release Engineering - 0.16.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 0.16.3-3 +- Rebuilt for Python 3.7 + +* Fri Feb 09 2018 Fedora Release Engineering - 0.16.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Oct 03 2017 Michele Baldessari - 0.16.3-1 +- New upstream + +* Thu Aug 24 2017 Michele Baldessari - 0.16.2-1 +- New upstream + +* Thu Jul 27 2017 Fedora Release Engineering - 0.16.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Jul 10 2017 Michele Baldessari - 0.16.0-1 +- New upstream +- License is now BSD +- Require sqlite3 + +* Sat Feb 11 2017 Fedora Release Engineering - 0.14.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Sun Jan 08 2017 Michele Baldessari - 0.14.1-1 +- New upstream + +* Wed Dec 28 2016 Michele Baldessari - 0.14.0-1 +- New upstream +- Since 0.13.0 there is no longer python2 support, so drop it and obsolete python2-vdirsyncer + +* Mon Dec 19 2016 Miro Hrončok - 0.12.1-2 +- Rebuild for Python 3.6 + +* Sun Sep 04 2016 Michele Baldessari - 0.12.1-1 +- New upstream + +* Mon Aug 01 2016 Michele Baldessari - 0.11.3-1 +- New upstream + * Tue Jul 19 2016 Fedora Release Engineering - 0.11.2-3 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages