From 316c7c886c3db15051a3fe9897ea00b8c32eb5b50d10b4f92a759d597a329c5e Mon Sep 17 00:00:00 2001 From: Steve Kowalik Date: Wed, 3 Sep 2025 05:22:10 +0000 Subject: [PATCH] - Update to 0.30.0: * Bump python-pkcs11 to 0.9.x. * Introduce signxml>=4.2.0 into [etsi] dependency group. * Allow custom text and stamp border colours. * Correct buggy behaviour when reauthenticating with a security handler. * Fix registration of multiple extensions in encrypted files. * Tolerate key usage violations when the signer is a trust anchor. * Remove unnecessary 3.8 compatibility code. * Make it easier to customise PKCS#11 queries * The root pyhanko package is now a namespace package. * Drop dependency on click in pyhanko distribution, move CLI code into pyhanko-cli instead. * Make the dependency on qrcode optional (in the new [qr] dependency group) * Replace defusedxml with a dependency on lxml. - Subsume pyhanko-certvalidator into this package, upstream has intertwined all of the packages into one repo. - Ship docs and license in the built packages. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pyHanko?expand=0&rev=10 --- pyhanko-0.26.0.tar.gz | 3 -- pyhanko-0.30.0.tar.gz | 3 ++ python-pyHanko.changes | 21 +++++++++++ python-pyHanko.spec | 83 +++++++++++++++++++++++++++++++++--------- 4 files changed, 89 insertions(+), 21 deletions(-) delete mode 100644 pyhanko-0.26.0.tar.gz create mode 100644 pyhanko-0.30.0.tar.gz diff --git a/pyhanko-0.26.0.tar.gz b/pyhanko-0.26.0.tar.gz deleted file mode 100644 index 2e34e92..0000000 --- a/pyhanko-0.26.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fed95cef2c407edc704428c43800512b4671608ae11ce3a05163dc20af5ad657 -size 8112894 diff --git a/pyhanko-0.30.0.tar.gz b/pyhanko-0.30.0.tar.gz new file mode 100644 index 0000000..f50d956 --- /dev/null +++ b/pyhanko-0.30.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61e50e585c922b7cb8ec56a27aa5b8e6dc4462099353b9c965ac7ada40d40bdd +size 9858531 diff --git a/python-pyHanko.changes b/python-pyHanko.changes index 7405f31..600d532 100644 --- a/python-pyHanko.changes +++ b/python-pyHanko.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Wed Sep 3 05:21:44 UTC 2025 - Steve Kowalik + +- Update to 0.30.0: + * Bump python-pkcs11 to 0.9.x. + * Introduce signxml>=4.2.0 into [etsi] dependency group. + * Allow custom text and stamp border colours. + * Correct buggy behaviour when reauthenticating with a security handler. + * Fix registration of multiple extensions in encrypted files. + * Tolerate key usage violations when the signer is a trust anchor. + * Remove unnecessary 3.8 compatibility code. + * Make it easier to customise PKCS#11 queries + * The root pyhanko package is now a namespace package. + * Drop dependency on click in pyhanko distribution, move CLI code into + pyhanko-cli instead. + * Make the dependency on qrcode optional (in the new [qr] dependency group) + * Replace defusedxml with a dependency on lxml. +- Subsume pyhanko-certvalidator into this package, upstream has intertwined + all of the packages into one repo. +- Ship docs and license in the built packages. + ------------------------------------------------------------------- Mon Apr 28 14:08:25 UTC 2025 - Dirk Müller diff --git a/python-pyHanko.spec b/python-pyHanko.spec index 8b5a0eb..3a751a5 100644 --- a/python-pyHanko.spec +++ b/python-pyHanko.spec @@ -1,7 +1,7 @@ # # spec file for package python-pyHanko # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2025 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,39 +18,62 @@ %{?sle15_python_module_pythons} Name: python-pyHanko -Version: 0.26.0 +Version: 0.30.0 Release: 0 Summary: Tools for stamping and signing PDF files License: MIT URL: https://github.com/MatthiasValvekens/pyHanko Source: https://github.com/MatthiasValvekens/pyHanko/archive/refs/tags/v%{version}.tar.gz#/pyhanko-%{version}.tar.gz -BuildRequires: %{python_module FontTools} +BuildRequires: %{python_module FontTools >= 4.33.3} BuildRequires: %{python_module Pillow} -BuildRequires: %{python_module PyYAML} +BuildRequires: %{python_module PyYAML >= 6.0} BuildRequires: %{python_module aiohttp} +BuildRequires: %{python_module asn1crypto >= 1.5.1} +BuildRequires: %{python_module base >= 3.9} BuildRequires: %{python_module certomancer} -BuildRequires: %{python_module defusedxml} +BuildRequires: %{python_module click >= 8.1.3} +BuildRequires: %{python_module cryptography >= 43.0.3} BuildRequires: %{python_module freezegun} +BuildRequires: %{python_module lxml >= 5.4} +BuildRequires: %{python_module oscrypto >= 1.1} BuildRequires: %{python_module pip} -BuildRequires: %{python_module pyhanko-certvalidator} +BuildRequires: %{python_module platformdirs >= 4.3.8} +BuildRequires: %{python_module pytest-aiohttp} BuildRequires: %{python_module pytest-asyncio} BuildRequires: %{python_module pytest} BuildRequires: %{python_module python-barcode} +BuildRequires: %{python_module python-pkcs11} BuildRequires: %{python_module qrcode} +BuildRequires: %{python_module requests >= 2.31} BuildRequires: %{python_module requests-mock} -BuildRequires: %{python_module tzlocal} -BuildRequires: %{python_module uharfbuzz} +BuildRequires: %{python_module signxml >= 4.2} +BuildRequires: %{python_module tzlocal >= 4.3} +BuildRequires: %{python_module uharfbuzz >= 0.25} +BuildRequires: %{python_module uritools >= 3.0.1} +BuildRequires: %{python_module xsdata >= 24.4} BuildRequires: fdupes BuildRequires: python-rpm-macros -Requires: python-PyYAML -Requires: python-asn1crypto -Requires: python-click -Requires: python-cryptography -Requires: python-pyhanko-certvalidator -Requires: python-qrcode -Requires: python-requests -Requires: python-tzlocal -Requires: python-uharfbuzz +Requires: python-PyYAML >= 6.0 +Requires: python-asn1crypto >= 1.5.1 +Requires: python-click >= 8.1.3 +Requires: python-cryptography >= 43.0.3 +Requires: python-lxml >= 5.4 +Requires: python-oscrypto >= 1.1 +Requires: python-platformdirs >= 4.3.8 +Requires: python-requests >= 2.31 +Requires: python-tzlocal >= 4.3 +Requires: python-uritools >= 3.0.1 +Suggests: python-FontTools >= 4.33.3 +Suggests: python-uharfbuzz >= 0.25 +Suggests: python-qrcode >= 7.3.1 +Suggests: python-Pillow >= 7.2 +Suggests: python-python-barcode +Suggests: python-python-pkcs11 >= 0.9 +Suggests: python-aiohttp +Suggests: python-xsdata >= 24.4 +Suggests: python-signxml >= 4.2 +Obsoletes: python-pyhanko-certvalidator < %{version} +Provides: python-pyhanko-certvalidator = %{version} Requires(post): update-alternatives Requires(postun): update-alternatives BuildArch: noarch @@ -63,16 +86,35 @@ The lack of open-source CLI tooling to handle digitally signing and stamping PDF %autosetup -p1 -n pyHanko-%{version} %build +for pkg in pkgs/* ; do +pushd $pkg +# Hardcoded versions +sed -i 's/0.0.0.dev1/%{version}/' pyproject.toml %pyproject_wheel +popd +done %install +for pkg in pkgs/* ; do +pushd $pkg %pyproject_install +popd +done %python_expand %fdupes %{buildroot}%{$python_sitelib} %python_clone -a %{buildroot}%{_bindir}/pyhanko %check +export PYTHONPATH=$(pwd)/internal/common-test-utils/src +pushd pkgs/pyhanko-certvalidator +%pytest +popd +pushd pkgs/pyhanko-cli +%pytest +popd +pushd pkgs/pyhanko # Tests that are skipped or ignored require modules that are not shipped -%pytest --ignore pyhanko_tests/test_csc.py --ignore pyhanko_tests/test_pkcs11.py -k 'not (test_pades or test_ts_fetch)' +%pytest --ignore tests/test_csc.py -k 'not (test_pades or test_ts_fetch or test_simple_text_stamp_on_page_with_leaky_graphics_state)' +popd %post %python_install_alternative pyhanko @@ -81,8 +123,13 @@ The lack of open-source CLI tooling to handle digitally signing and stamping PDF %python_uninstall_alternative pyhanko %files %{python_files} +%doc pkgs/pyhanko/README.md +%license pkgs/pyhanko/LICENSE %python_alternative %{_bindir}/pyhanko %{python_sitelib}/pyhanko +%{python_sitelib}/pyhanko_certvalidator %{python_sitelib}/pyhanko-%{version}.dist-info +%{python_sitelib}/pyhanko_certvalidator-%{version}.dist-info +%{python_sitelib}/pyhanko_cli-%{version}.dist-info %changelog