commit a0299904fc3ed239481b45481c2f4effaf1e12d49d4cfdf5e522e5e9c698b273 Author: Steve Kowalik Date: Wed Jun 11 06:33:49 2025 +0000 - Switch to pyproject macros. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pywebpush?expand=0&rev=8 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/no-more-six.patch b/no-more-six.patch new file mode 100644 index 0000000..c791058 --- /dev/null +++ b/no-more-six.patch @@ -0,0 +1,40 @@ +Index: pywebpush-1.14.0/pywebpush/__init__.py +=================================================================== +--- pywebpush-1.14.0.orig/pywebpush/__init__.py ++++ pywebpush-1.14.0/pywebpush/__init__.py +@@ -13,7 +13,6 @@ try: + except ImportError: # pragma nocover + from urlparse import urlparse + +-import six + import http_ece + import requests + from cryptography.hazmat.backends import default_backend +@@ -152,7 +151,7 @@ class WebPusher: + for k in ['p256dh', 'auth']: + if keys.get(k) is None: + raise WebPushException("Missing keys value: {}".format(k)) +- if isinstance(keys[k], six.text_type): ++ if isinstance(keys[k], str): + keys[k] = bytes(keys[k].encode('utf8')) + receiver_raw = base64.urlsafe_b64decode( + self._repad(keys['p256dh'])) +@@ -206,7 +205,7 @@ class WebPusher: + format=serialization.PublicFormat.UncompressedPoint + ) + +- if isinstance(data, six.text_type): ++ if isinstance(data, str): + data = bytes(data.encode('utf8')) + if content_encoding == "aes128gcm": + self.verb("Encrypting to aes128gcm...") +Index: pywebpush-1.14.0/requirements.txt +=================================================================== +--- pywebpush-1.14.0.orig/requirements.txt ++++ pywebpush-1.14.0/requirements.txt +@@ -1,5 +1,4 @@ + cryptography>=2.6.1 + http-ece>=1.1.0 + requests>=2.21.0 +-six>=1.15.0 + py-vapid>=1.7.0 diff --git a/python-pywebpush.changes b/python-pywebpush.changes new file mode 100644 index 0000000..8104e9e --- /dev/null +++ b/python-pywebpush.changes @@ -0,0 +1,35 @@ +------------------------------------------------------------------- +Wed Jun 11 05:49:38 UTC 2025 - Steve Kowalik + +- Switch to pyproject macros. + +------------------------------------------------------------------- +Wed Jun 28 06:43:49 UTC 2023 - Steve Kowalik + +- Add patch no-more-six.patch: + * Do not require six. +- Do not use greedy globs in %files. + +------------------------------------------------------------------- +Fri Apr 8 10:03:17 UTC 2022 - pgajdos@suse.com + +- do not require python-mock for build + +------------------------------------------------------------------- +Tue Sep 28 01:08:03 UTC 2021 - Steve Kowalik + +- Update to 1.14.0: + * bug: accept all VAPID key instances (thanks @mthu) + * Support requests_session param in webpush fn too + * chore: library update, remove nose tests + +------------------------------------------------------------------- +Sun Jun 7 05:11:49 UTC 2020 - John Vandenberg + +- Tidy spec, removing unnecessary build dependencies and suggests +- Update to v1.11.0 + +------------------------------------------------------------------- +Wed Aug 14 17:55:17 UTC 2019 - Antonio Larrosa + +- Initial release of python-pywebpush 1.10.0 diff --git a/python-pywebpush.spec b/python-pywebpush.spec new file mode 100644 index 0000000..e5cec1f --- /dev/null +++ b/python-pywebpush.spec @@ -0,0 +1,81 @@ +# +# spec file for package python-pywebpush +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: python-pywebpush +Version: 1.14.0 +Release: 0 +Summary: WebPush publication library +License: MPL-2.0 +URL: https://github.com/web-push-libs/pywebpush +Source: https://files.pythonhosted.org/packages/source/p/pywebpush/pywebpush-%{version}.tar.gz +# PATCH-FIX-OPENSUSE Do not require six module +Patch0: no-more-six.patch +BuildRequires: %{python_module pip} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-cryptography >= 2.6.1 +Requires: python-http-ece >= 1.1.0 +Requires: python-py-vapid >= 1.5.0 +Requires: python-requests >= 2.21.0 +Requires(post): update-alternatives +Requires(postun): update-alternatives +BuildArch: noarch +# SECTION test requirements +BuildRequires: %{python_module cryptography >= 2.6.1} +BuildRequires: %{python_module http-ece >= 1.1.0} +BuildRequires: %{python_module py-vapid >= 1.5.0} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module requests >= 2.21.0} +# /SECTION +%python_subpackages + +%description +WebPush publication library. + +%prep +%autosetup -p1 -n pywebpush-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_clone -a %{buildroot}%{_bindir}/pywebpush +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%check +# https://github.com/web-push-libs/pywebpush/issues/146 +sed -i 's:from mock:from unittest.mock:' pywebpush/tests/test_webpush.py +%pytest + +%post +%python_install_alternative pywebpush + +%postun +%python_uninstall_alternative pywebpush + +%files %{python_files} +%doc CHANGELOG.md README.md README.rst +%license LICENSE +%python_alternative %{_bindir}/pywebpush +%{python_sitelib}/pywebpush +%{python_sitelib}/pywebpush-%{version}.dist-info + +%changelog diff --git a/pywebpush-1.14.0.tar.gz b/pywebpush-1.14.0.tar.gz new file mode 100644 index 0000000..babb95b --- /dev/null +++ b/pywebpush-1.14.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c36e1679268219e693ba940db2bf254c240ca02664de102b7269afc3c545731 +size 25497