Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package rss2email for openSUSE:Factory 
checked in at 2025-12-24 13:15:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rss2email (Old)
 and      /work/SRC/openSUSE:Factory/.rss2email.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rss2email"

Wed Dec 24 13:15:59 2025 rev:14 rq:1324247 version:3.14

Changes:
--------
--- /work/SRC/openSUSE:Factory/rss2email/rss2email.changes      2024-04-11 
19:42:25.072567854 +0200
+++ /work/SRC/openSUSE:Factory/.rss2email.new.1928/rss2email.changes    
2025-12-24 13:17:12.584684374 +0100
@@ -1,0 +2,20 @@
+Fri Dec 12 08:03:01 UTC 2025 - Dominique Leuenberger <[email protected]>
+
+- Add 279.patch: Fix build against html2text >= 2025.4.15 and
+  require this version at least.
+
+-------------------------------------------------------------------
+Mon Jun 30 10:11:28 UTC 2025 - Matej Cepl <[email protected]>
+
+- Switch the SPEC file from the single-spec one to the regular
+  one (rss2email is not consumed by any other package, AFAIK, so
+  multiple binary packages are not needed).
+- Add dynamic-version-number.patch to switch incorrect duality of
+  pyproject.toml/setup.py to the regular PEP 621 setup.cfg
+  (gh#rss2email/rss2email!284).
+- Add 213-http-header-config.patch to allow adding a custom
+  HTTP header to the request (required for some websites,
+  e.g., gh#rss2email/rss2email#273; the code is from
+  gh#rss2email/rss2email!213).
+
+-------------------------------------------------------------------

New:
----
  213-http-header-config.patch
  279.patch
  dynamic-version-number.patch

----------(New B)----------
  New:  (gh#rss2email/rss2email!284).
- Add 213-http-header-config.patch to allow adding a custom
  HTTP header to the request (required for some websites,
  New:
- Add 279.patch: Fix build against html2text >= 2025.4.15 and
  require this version at least.
  New:  multiple binary packages are not needed).
- Add dynamic-version-number.patch to switch incorrect duality of
  pyproject.toml/setup.py to the regular PEP 621 setup.cfg
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rss2email.spec ++++++
--- /var/tmp/diff_new_pack.GDsdi2/_old  2025-12-24 13:17:13.236711310 +0100
+++ /var/tmp/diff_new_pack.GDsdi2/_new  2025-12-24 13:17:13.240711475 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package rss2email
 #
-# Copyright (c) 2024 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
@@ -16,8 +16,6 @@
 #
 
 
-%{?!python_module:%define python_module() python3-%{**}}
-%define skip_python2 1
 Name:           rss2email
 Version:        3.14
 Release:        0
@@ -27,19 +25,27 @@
 URL:            https://github.com/rss2email/rss2email
 Source:         
https://github.com/rss2email/rss2email/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
 Patch0:         fix-tests.patch
-BuildRequires:  %{python_module feedparser >= 6.0.0}
-BuildRequires:  %{python_module html2text >= 3.0.1}
-BuildRequires:  %{python_module setuptools}
+# PATCH-FEATURE-UPSTREAM 213-http-header-config.patch 
gh#rss2email/rss2email!213 [email protected]
+# add http-header config option to pass custom HTTP headers
+Patch1:         213-http-header-config.patch
+# PATCH-FEATURE-UPSTREAM dynamic-version-number.patch 
gh#rss2email/rss2email!284 [email protected]
+# pyproject.toml should use dynamic version number derived from rss2email/ 
__version__
+Patch2:         dynamic-version-number.patch
+Patch3:         
https://patch-diff.githubusercontent.com/raw/rss2email/rss2email/pull/279.patch
+BuildRequires:  fdupes
 BuildRequires:  python-rpm-generators
 BuildRequires:  python-rpm-macros
-Requires:       python-feedparser >= 6.0.0
-Requires:       python-html2text >= 3.0.1
-Requires:       python-setuptools
-Requires(post): update-alternatives
-Requires(postun): update-alternatives
+BuildRequires:  python3-feedparser >= 6.0.0
+BuildRequires:  python3-html2text >= 2025.4.15
+BuildRequires:  python3-pip
+BuildRequires:  python3-setuptools
+BuildRequires:  python3-wheel
+Requires:       python3-feedparser >= 6.0.0
+Requires:       python3-html2text >= 2025.4.15
+Provides:       python3-rss2email = %version-%release
+Obsoletes:      python3-rss2email < %version-%release
 BuildArch:      noarch
 %{?python_enable_dependency_generator}
-%python_subpackages
 
 %description
 Lets users receive news from RSS feeds in email. Intended to be run from
@@ -50,37 +56,25 @@
 %autosetup -p1
 
 %build
-%python_build
+%python3_pyproject_wheel
 
 %install
-%python_install
-%python_clone -a %{buildroot}%{_bindir}/r2e
+%python3_pyproject_install
 install -Dm644 r2e.1 %{buildroot}%{_mandir}/man1/r2e.1
-%python_clone -a %{buildroot}%{_mandir}/man1/r2e.1
+%fdupes %{buildroot}%{python3_sitelib}
 
 %check
 pushd test
-%pyunittest --verbose
+export PYTHONPATH=%{buildroot}%{python3_sitelib}
+export PYTHONDONTWRITEBYTECODE=1
+python3 -m unittest discover -v
 popd
 
-%post
-%python_install_alternative r2e r2e.1
-
-%postun
-%python_uninstall_alternative r2e r2e.1
-
-%files %{python_files}
+%files
 %license COPYING
 %doc AUTHORS CHANGELOG README.rst
-%dir %{python_sitelib}/rss2email
-%dir %{python_sitelib}/rss2email/__pycache__
-%dir %{python_sitelib}/rss2email/post_process
-%dir %{python_sitelib}/rss2email/post_process/__pycache__
-%{python_sitelib}/rss2email/*py
-%{python_sitelib}/rss2email/post_process/*py
-%{python_sitelib}/rss2email-%{version}-py*.egg-info
-%pycache_only %{python_sitelib}/rss2email/__pycache__/*
-%pycache_only %{python_sitelib}/rss2email/post_process/__pycache__/*
-%python_alternative %{_bindir}/r2e
-%python_alternative %{_mandir}/man1/r2e.1%{?ext_man}
+%{_bindir}/r2e
+%{_mandir}/man1/r2e.1%{?ext_man}
+%{python3_sitelib}/rss2email
+%{python3_sitelib}/rss2email-%{version}*-info
 

++++++ 213-http-header-config.patch ++++++
---
 r2e.1               |    2 ++
 rss2email/config.py |    2 ++
 rss2email/feed.py   |   10 ++++++++++
 3 files changed, 14 insertions(+)

Index: rss2email-3.14/r2e.1
===================================================================
--- rss2email-3.14.orig/r2e.1   2022-08-26 16:54:21.000000000 +0200
+++ rss2email-3.14/r2e.1        2025-06-30 12:08:04.486413554 +0200
@@ -185,6 +185,8 @@
 Set an HTTP proxy (e.g. 'http://your.proxy.here:8080/')
 .IP feed-timeout
 Set the timeout (in seconds) for feed server response
+.IP http-header
+Set custom HTTP headers to be sent with the feed requests
 .RE
 .SS Processing
 .IP active
Index: rss2email-3.14/rss2email/config.py
===================================================================
--- rss2email-3.14.orig/rss2email/config.py     2022-08-26 16:54:21.000000000 
+0200
+++ rss2email-3.14/rss2email/config.py  2025-06-30 12:07:53.560474799 +0200
@@ -113,6 +113,8 @@
         ('feed-timeout', str(60)),
         # Set the time (in seconds) to sleep between fetches from the same 
server
         ('same-server-fetch-interval', str(0)),
+        # Custom HTTP headers (newline separated)
+        ('http-header', ''),
 
         ### Processing
         # True: Fetch, process, and email feeds.
Index: rss2email-3.14/rss2email/feed.py
===================================================================
--- rss2email-3.14.orig/rss2email/feed.py       2022-08-26 16:54:21.000000000 
+0200
+++ rss2email-3.14/rss2email/feed.py    2025-06-30 12:07:53.560872827 +0200
@@ -384,6 +384,16 @@
             kwargs['handlers'] = [
                 _urllib_request.ProxyHandler({ 'http': proxy, 'https': proxy })
             ]
+        extra_headers = {}
+        custom_headers = config['http-header']
+        if custom_headers:
+            for header in custom_headers.splitlines():
+                if ':' in header:
+                    key,value = header.split(':', 1)
+                    extra_headers[key.strip()] = value.strip()
+                else:
+                    _LOG.warning('malformed http-header: {}'.format(header))
+        kwargs['request_headers'] = extra_headers
         f = _util.TimeLimitedFunction('feed {}'.format(self.name), timeout, 
_feedparser.parse)
         return f(self.url, self.etag, modified=self.modified, 
agent=self.user_agent, **kwargs)
 

++++++ 279.patch ++++++
>From 6625fded5d55b89ce77e0dd5f1bd153428c3bdd2 Mon Sep 17 00:00:00 2001
From: Brand Huntsman <[email protected]>
Date: Mon, 5 May 2025 02:35:02 -0600
Subject: [PATCH] Fix tests when using html2text 2025.4.15.

https://github.com/Alir3z4/html2text/pull/431 changed the 'pre' tag
indentation spacing.

Fixes #278.

Reported-By: Luis Henriques
---
 test/data/tails/1.expected | 94 +++++++++++++++++++-------------------
 test/data/tails/2.expected | 92 ++++++++++++++++++-------------------
 2 files changed, 93 insertions(+), 93 deletions(-)

diff --git a/test/data/tails/1.expected b/test/data/tails/1.expected
index cd6238c0..0feef24c 100644
--- a/test/data/tails/1.expected
+++ b/test/data/tails/1.expected
@@ -362,48 +362,48 @@ 
YzEuCgpUbyBkbyBhbiBhdXRvbWF0aWMgdXBncmFkZSB0byBUYWlscyA0LjExfnJjMToKCiAgICAx
 LiBTdGFydCBUYWlscyA0LjIgb3IgbGF0ZXIgYW5kIFtzZXQgYW4gYWRtaW5pc3RyYXRpb24gcGFz
 c3dvcmRdKGh0dHBzOi8vdGFpbHMuYm91bS5vcmcvZG9jL2ZpcnN0X3N0ZXBzL3dlbGNvbWVfc2Ny
 ZWVuL2FkbWluaXN0cmF0aW9uX3Bhc3N3b3JkL2luZGV4LmVuLmh0bWwpLgoKICAgIDIuIFJ1biB0
-aGlzIGNvbW1hbmQgaW4gYSBfVGVybWluYWxfIDoKICAgICAgICAKICAgICAgICAgICAgICAgIGVj
-aG8gVEFJTFNfQ0hBTk5FTD1cImFscGhhXCIgfCBzdWRvIHRlZSAtYSAvZXRjL29zLXJlbGVhc2Ug
-JiYgXAogICAgICAgICAgICAgdGFpbHMtdXBncmFkZS1mcm9udGVuZC13cmFwcGVyCiAgICAgICAg
-CgpFbnRlciB0aGUgYWRtaW5pc3RyYXRpb24gcGFzc3dvcmQgd2hlbiBhc2tlZCBmb3IgdGhlICJw
-YXNzd29yZCBmb3IgYW1uZXNpYSIuCgogICAgMy4gQWZ0ZXIgdGhlIHVwZ3JhZGUgaXMgYXBwbGll
-ZCwgcmVzdGFydCBUYWlscyBhbmQgY2hvb3NlICoqQXBwbGljYXRpb25zICDilrggVGFpbHMg4pa4
-IEFib3V0IFRhaWxzKiogdG8gdmVyaWZ5IHRoYXQgeW91IGFyZSBydW5uaW5nIFRhaWxzIDQuMTF+
-cmMxLgoKICAqIElmIHlvdSBjYW5ub3QgZG8gYW4gYXV0b21hdGljIHVwZ3JhZGUgb3IgaWYgVGFp
-bHMgZmFpbHMgdG8gc3RhcnQgYWZ0ZXIgYW4gYXV0b21hdGljIHVwZ3JhZGUsIHBsZWFzZSB0cnkg
-dG8gZG8gYSBbbWFudWFsIHVwZ3JhZGVdKGh0dHBzOi8vdGFpbHMuYm91bS5vcmcvZG9jL3VwZ3Jh
-ZGUvaW5kZXguZW4uaHRtbCNtYW51YWwpLgoKIyMgVG8gZG93bmxvYWQgNC4xMX5yYzEKCiMjIyBE
-aXJlY3QgZG93bmxvYWQKCiAgKiBbRm9yIFVTQiBzdGlja3MgKFVTQiBpbWFnZSldKGh0dHA6Ly9k
-bC5hbW5lc2lhLmJvdW0ub3JnL3RhaWxzL2FscGhhL3RhaWxzLWFtZDY0LTQuMTF+cmMxL3RhaWxz
-LWFtZDY0LTQuMTF+cmMxLmltZykgKFs/XShodHRwczovL3RhaWxzLmJvdW0ub3JnL2lraXdpa2ku
-Y2dpP2RvPWNyZWF0ZSZmcm9tPW5ld3MlMkZ0ZXN0XzQuMTEtcmMxJnBhZ2U9dG9ycmVudHMlMkZm
-aWxlcyUyRnRhaWxzLWFtZDY0LTQuMTF+cmMxLmltZy5zaWcpT3BlblBHUCBzaWduYXR1cmUpCgog
-ICogW0ZvciBEVkRzIGFuZCB2aXJ0dWFsIG1hY2hpbmVzIChJU08gaW1hZ2UpXShodHRwOi8vZGwu
-YW1uZXNpYS5ib3VtLm9yZy90YWlscy9hbHBoYS90YWlscy1hbWQ2NC00LjExfnJjMS90YWlscy1h
-bWQ2NC00LjExfnJjMS5pc28pIChbP10oaHR0cHM6Ly90YWlscy5ib3VtLm9yZy9pa2l3aWtpLmNn
-aT9kbz1jcmVhdGUmZnJvbT1uZXdzJTJGdGVzdF80LjExLXJjMSZwYWdlPXRvcnJlbnRzJTJGZmls
-ZXMlMkZ0YWlscy1hbWQ2NC00LjExfnJjMS5pc28uc2lnKU9wZW5QR1Agc2lnbmF0dXJlKQoKIyMj
-IEJpdFRvcnJlbnQgZG93bmxvYWQKCiAgKiBbRm9yIFVTQiBzdGlja3MgKFVTQiBpbWFnZSldKGh0
-dHBzOi8vdGFpbHMuYm91bS5vcmcvdG9ycmVudHMvZmlsZXMvdGFpbHMtYW1kNjQtNC4xMX5yYzEu
-aW1nLnRvcnJlbnQpCgogICogW0ZvciBEVkRzIGFuZCB2aXJ0dWFsIG1hY2hpbmVzIChJU08gaW1h
-Z2UpXShodHRwczovL3RhaWxzLmJvdW0ub3JnL3RvcnJlbnRzL2ZpbGVzL3RhaWxzLWFtZDY0LTQu
-MTF+cmMxLmlzby50b3JyZW50KQoKIyMgVG8gaW5zdGFsbCBUYWlscyBvbiBhIG5ldyBVU0Igc3Rp
-Y2sKCkZvbGxvdyBvdXIgaW5zdGFsbGF0aW9uIGluc3RydWN0aW9uczoKCiAgKiBbSW5zdGFsbCBm
-cm9tIFdpbmRvd3NdKGh0dHBzOi8vdGFpbHMuYm91bS5vcmcvaW5zdGFsbC93aW4vdXNiL2luZGV4
-LmVuLmh0bWwpCiAgKiBbSW5zdGFsbCBmcm9tIG1hY09TXShodHRwczovL3RhaWxzLmJvdW0ub3Jn
-L2luc3RhbGwvbWFjL3VzYi9pbmRleC5lbi5odG1sKQogICogW0luc3RhbGwgZnJvbSBMaW51eF0o
-aHR0cHM6Ly90YWlscy5ib3VtLm9yZy9pbnN0YWxsL2xpbnV4L3VzYi9pbmRleC5lbi5odG1sKQoK
-QWxsIHRoZSBkYXRhIG9uIHRoaXMgVVNCIHN0aWNrIHdpbGwgYmUgbG9zdC4KCiMgV2hhdCdzIGNv
-bWluZyB1cD8KClRhaWxzIDQuMTEgaXMgW3NjaGVkdWxlZF0oaHR0cHM6Ly90YWlscy5ib3VtLm9y
-Zy9jb250cmlidXRlL2NhbGVuZGFyLykgZm9yClNlcHRlbWJlciAyMi4KCkhhdmUgYSBsb29rIGF0
-IG91ciBbcm9hZG1hcF0oaHR0cHM6Ly90YWlscy5ib3VtLm9yZy9jb250cmlidXRlL3JvYWRtYXAp
-IHRvIHNlZQp3aGVyZSB3ZSBhcmUgaGVhZGluZyB0by4KCldlIG5lZWQgeW91ciBoZWxwIGFuZCB0
-aGVyZSBhcmUgbWFueSB3YXlzIHRvIFtjb250cmlidXRlIHRvClRhaWxzXShodHRwczovL3RhaWxz
-LmJvdW0ub3JnL2NvbnRyaWJ1dGUvaW5kZXguZW4uaHRtbCkKKFtkb25hdGluZ10oaHR0cHM6Ly90
-YWlscy5ib3VtLm9yZy9kb25hdGUvP3I9NC4xMS1yYzEpIGlzIG9ubHkgb25lIG9mIHRoZW0pLgpD
-b21lIFt0YWxrIHRvIHVzXShodHRwczovL3RhaWxzLmJvdW0ub3JnL2Fib3V0L2NvbnRhY3QvaW5k
-ZXguZW4uaHRtbCN0YWlscy0KZGV2KSEKCgoKVVJMOiBodHRwczovL3RhaWxzLmJvdW0ub3JnL25l
-d3MvdGVzdF80LjExLXJjMS8=
+aGlzIGNvbW1hbmQgaW4gYSBfVGVybWluYWxfIDoKICAgICAgICAgICAKICAgICAgICAgICBlY2hv
+IFRBSUxTX0NIQU5ORUw9XCJhbHBoYVwiIHwgc3VkbyB0ZWUgLWEgL2V0Yy9vcy1yZWxlYXNlICYm
+IFwKICAgICAgICAgICAgICAgIHRhaWxzLXVwZ3JhZGUtZnJvbnRlbmQtd3JhcHBlcgogICAgICAg
+ICAgIAoKRW50ZXIgdGhlIGFkbWluaXN0cmF0aW9uIHBhc3N3b3JkIHdoZW4gYXNrZWQgZm9yIHRo
+ZSAicGFzc3dvcmQgZm9yIGFtbmVzaWEiLgoKICAgIDMuIEFmdGVyIHRoZSB1cGdyYWRlIGlzIGFw
+cGxpZWQsIHJlc3RhcnQgVGFpbHMgYW5kIGNob29zZSAqKkFwcGxpY2F0aW9ucyAg4pa4IFRhaWxz
+IOKWuCBBYm91dCBUYWlscyoqIHRvIHZlcmlmeSB0aGF0IHlvdSBhcmUgcnVubmluZyBUYWlscyA0
+LjExfnJjMS4KCiAgKiBJZiB5b3UgY2Fubm90IGRvIGFuIGF1dG9tYXRpYyB1cGdyYWRlIG9yIGlm
+IFRhaWxzIGZhaWxzIHRvIHN0YXJ0IGFmdGVyIGFuIGF1dG9tYXRpYyB1cGdyYWRlLCBwbGVhc2Ug
+dHJ5IHRvIGRvIGEgW21hbnVhbCB1cGdyYWRlXShodHRwczovL3RhaWxzLmJvdW0ub3JnL2RvYy91
+cGdyYWRlL2luZGV4LmVuLmh0bWwjbWFudWFsKS4KCiMjIFRvIGRvd25sb2FkIDQuMTF+cmMxCgoj
+IyMgRGlyZWN0IGRvd25sb2FkCgogICogW0ZvciBVU0Igc3RpY2tzIChVU0IgaW1hZ2UpXShodHRw
+Oi8vZGwuYW1uZXNpYS5ib3VtLm9yZy90YWlscy9hbHBoYS90YWlscy1hbWQ2NC00LjExfnJjMS90
+YWlscy1hbWQ2NC00LjExfnJjMS5pbWcpIChbP10oaHR0cHM6Ly90YWlscy5ib3VtLm9yZy9pa2l3
+aWtpLmNnaT9kbz1jcmVhdGUmZnJvbT1uZXdzJTJGdGVzdF80LjExLXJjMSZwYWdlPXRvcnJlbnRz
+JTJGZmlsZXMlMkZ0YWlscy1hbWQ2NC00LjExfnJjMS5pbWcuc2lnKU9wZW5QR1Agc2lnbmF0dXJl
+KQoKICAqIFtGb3IgRFZEcyBhbmQgdmlydHVhbCBtYWNoaW5lcyAoSVNPIGltYWdlKV0oaHR0cDov
+L2RsLmFtbmVzaWEuYm91bS5vcmcvdGFpbHMvYWxwaGEvdGFpbHMtYW1kNjQtNC4xMX5yYzEvdGFp
+bHMtYW1kNjQtNC4xMX5yYzEuaXNvKSAoWz9dKGh0dHBzOi8vdGFpbHMuYm91bS5vcmcvaWtpd2lr
+aS5jZ2k/ZG89Y3JlYXRlJmZyb209bmV3cyUyRnRlc3RfNC4xMS1yYzEmcGFnZT10b3JyZW50cyUy
+RmZpbGVzJTJGdGFpbHMtYW1kNjQtNC4xMX5yYzEuaXNvLnNpZylPcGVuUEdQIHNpZ25hdHVyZSkK
+CiMjIyBCaXRUb3JyZW50IGRvd25sb2FkCgogICogW0ZvciBVU0Igc3RpY2tzIChVU0IgaW1hZ2Up
+XShodHRwczovL3RhaWxzLmJvdW0ub3JnL3RvcnJlbnRzL2ZpbGVzL3RhaWxzLWFtZDY0LTQuMTF+
+cmMxLmltZy50b3JyZW50KQoKICAqIFtGb3IgRFZEcyBhbmQgdmlydHVhbCBtYWNoaW5lcyAoSVNP
+IGltYWdlKV0oaHR0cHM6Ly90YWlscy5ib3VtLm9yZy90b3JyZW50cy9maWxlcy90YWlscy1hbWQ2
+NC00LjExfnJjMS5pc28udG9ycmVudCkKCiMjIFRvIGluc3RhbGwgVGFpbHMgb24gYSBuZXcgVVNC
+IHN0aWNrCgpGb2xsb3cgb3VyIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnM6CgogICogW0luc3Rh
+bGwgZnJvbSBXaW5kb3dzXShodHRwczovL3RhaWxzLmJvdW0ub3JnL2luc3RhbGwvd2luL3VzYi9p
+bmRleC5lbi5odG1sKQogICogW0luc3RhbGwgZnJvbSBtYWNPU10oaHR0cHM6Ly90YWlscy5ib3Vt
+Lm9yZy9pbnN0YWxsL21hYy91c2IvaW5kZXguZW4uaHRtbCkKICAqIFtJbnN0YWxsIGZyb20gTGlu
+dXhdKGh0dHBzOi8vdGFpbHMuYm91bS5vcmcvaW5zdGFsbC9saW51eC91c2IvaW5kZXguZW4uaHRt
+bCkKCkFsbCB0aGUgZGF0YSBvbiB0aGlzIFVTQiBzdGljayB3aWxsIGJlIGxvc3QuCgojIFdoYXQn
+cyBjb21pbmcgdXA/CgpUYWlscyA0LjExIGlzIFtzY2hlZHVsZWRdKGh0dHBzOi8vdGFpbHMuYm91
+bS5vcmcvY29udHJpYnV0ZS9jYWxlbmRhci8pIGZvcgpTZXB0ZW1iZXIgMjIuCgpIYXZlIGEgbG9v
+ayBhdCBvdXIgW3JvYWRtYXBdKGh0dHBzOi8vdGFpbHMuYm91bS5vcmcvY29udHJpYnV0ZS9yb2Fk
+bWFwKSB0byBzZWUKd2hlcmUgd2UgYXJlIGhlYWRpbmcgdG8uCgpXZSBuZWVkIHlvdXIgaGVscCBh
+bmQgdGhlcmUgYXJlIG1hbnkgd2F5cyB0byBbY29udHJpYnV0ZSB0bwpUYWlsc10oaHR0cHM6Ly90
+YWlscy5ib3VtLm9yZy9jb250cmlidXRlL2luZGV4LmVuLmh0bWwpCihbZG9uYXRpbmddKGh0dHBz
+Oi8vdGFpbHMuYm91bS5vcmcvZG9uYXRlLz9yPTQuMTEtcmMxKSBpcyBvbmx5IG9uZSBvZiB0aGVt
+KS4KQ29tZSBbdGFsayB0byB1c10oaHR0cHM6Ly90YWlscy5ib3VtLm9yZy9hYm91dC9jb250YWN0
+L2luZGV4LmVuLmh0bWwjdGFpbHMtCmRldikhCgoKClVSTDogaHR0cHM6Ly90YWlscy5ib3VtLm9y
+Zy9uZXdzL3Rlc3RfNC4xMS1yYzEv
 
 
 SENT BY: "Tails - News: <author>" <[email protected]>
@@ -796,17 +796,17 @@ For more details, read our
 # Known issues
 
   * Ledger wallets are not detected by _Electrum_ , with the following error 
message returned. 
([#18080](https://gitlab.tails.boum.org/tails/tails/-/issues/18080))
-    
+        
         "No hardware device detected"
-    
+        
 
 Please try to execute the following command in a [root
 
terminal](https://tails.boum.org/doc/first_steps/welcome_screen/administration_password/index.en.html#open_root_terminal)
 before starting _Electrum_ :
 
-    
-         apt update && apt install python3-btchip/testing
-    
+        
+        apt update && apt install python3-btchip/testing
+        
 
 See the list of [long-standing
 issues](https://tails.boum.org/support/known_issues/index.en.html).
diff --git a/test/data/tails/2.expected b/test/data/tails/2.expected
index 7b48a677..7e9fd495 100644
--- a/test/data/tails/2.expected
+++ b/test/data/tails/2.expected
@@ -933,47 +933,47 @@ 
bHMgNC4xMX5yYzE6CgogICAgMS4gU3RhcnQgVGFpbHMgNC4yIG9yIGxhdGVyIGFuZCBbc2V0IGFu
 IGFkbWluaXN0cmF0aW9uIHBhc3N3b3JkXShodHRwczovL3RhaWxzLmJvdW0ub3JnL2RvYy9maXJz
 dF9zdGVwcy93ZWxjb21lX3NjcmVlbi9hZG1pbmlzdHJhdGlvbl9wYXNzd29yZC9pbmRleC5lbi5o
 dG1sKS4KCiAgICAyLiBSdW4gdGhpcyBjb21tYW5kIGluIGEgX1Rlcm1pbmFsXyA6CiAgICAgICAg
-CiAgICAgICAgICAgICAgICBlY2hvIFRBSUxTX0NIQU5ORUw9XCJhbHBoYVwiIHwgc3VkbyB0ZWUg
-LWEgL2V0Yy9vcy1yZWxlYXNlICYmIFwKICAgICAgICAgICAgIHRhaWxzLXVwZ3JhZGUtZnJvbnRl
-bmQtd3JhcHBlcgogICAgICAgIAoKRW50ZXIgdGhlIGFkbWluaXN0cmF0aW9uIHBhc3N3b3JkIHdo
-ZW4gYXNrZWQgZm9yIHRoZSAicGFzc3dvcmQgZm9yIGFtbmVzaWEiLgoKICAgIDMuIEFmdGVyIHRo
-ZSB1cGdyYWRlIGlzIGFwcGxpZWQsIHJlc3RhcnQgVGFpbHMgYW5kIGNob29zZSAqKkFwcGxpY2F0
-aW9ucyAg4pa4IFRhaWxzIOKWuCBBYm91dCBUYWlscyoqIHRvIHZlcmlmeSB0aGF0IHlvdSBhcmUg
-cnVubmluZyBUYWlscyA0LjExfnJjMS4KCiAgKiBJZiB5b3UgY2Fubm90IGRvIGFuIGF1dG9tYXRp
-YyB1cGdyYWRlIG9yIGlmIFRhaWxzIGZhaWxzIHRvIHN0YXJ0IGFmdGVyIGFuIGF1dG9tYXRpYyB1
-cGdyYWRlLCBwbGVhc2UgdHJ5IHRvIGRvIGEgW21hbnVhbCB1cGdyYWRlXShodHRwczovL3RhaWxz
-LmJvdW0ub3JnL2RvYy91cGdyYWRlL2luZGV4LmVuLmh0bWwjbWFudWFsKS4KCiMjIFRvIGRvd25s
-b2FkIDQuMTF+cmMxCgojIyMgRGlyZWN0IGRvd25sb2FkCgogICogW0ZvciBVU0Igc3RpY2tzIChV
-U0IgaW1hZ2UpXShodHRwOi8vZGwuYW1uZXNpYS5ib3VtLm9yZy90YWlscy9hbHBoYS90YWlscy1h
-bWQ2NC00LjExfnJjMS90YWlscy1hbWQ2NC00LjExfnJjMS5pbWcpIChbP10oaHR0cHM6Ly90YWls
-cy5ib3VtLm9yZy9pa2l3aWtpLmNnaT9kbz1jcmVhdGUmZnJvbT1uZXdzJTJGdGVzdF80LjExLXJj
-MSZwYWdlPXRvcnJlbnRzJTJGZmlsZXMlMkZ0YWlscy1hbWQ2NC00LjExfnJjMS5pbWcuc2lnKU9w
-ZW5QR1Agc2lnbmF0dXJlKQoKICAqIFtGb3IgRFZEcyBhbmQgdmlydHVhbCBtYWNoaW5lcyAoSVNP
-IGltYWdlKV0oaHR0cDovL2RsLmFtbmVzaWEuYm91bS5vcmcvdGFpbHMvYWxwaGEvdGFpbHMtYW1k
-NjQtNC4xMX5yYzEvdGFpbHMtYW1kNjQtNC4xMX5yYzEuaXNvKSAoWz9dKGh0dHBzOi8vdGFpbHMu
-Ym91bS5vcmcvaWtpd2lraS5jZ2k/ZG89Y3JlYXRlJmZyb209bmV3cyUyRnRlc3RfNC4xMS1yYzEm
-cGFnZT10b3JyZW50cyUyRmZpbGVzJTJGdGFpbHMtYW1kNjQtNC4xMX5yYzEuaXNvLnNpZylPcGVu
-UEdQIHNpZ25hdHVyZSkKCiMjIyBCaXRUb3JyZW50IGRvd25sb2FkCgogICogW0ZvciBVU0Igc3Rp
-Y2tzIChVU0IgaW1hZ2UpXShodHRwczovL3RhaWxzLmJvdW0ub3JnL3RvcnJlbnRzL2ZpbGVzL3Rh
-aWxzLWFtZDY0LTQuMTF+cmMxLmltZy50b3JyZW50KQoKICAqIFtGb3IgRFZEcyBhbmQgdmlydHVh
-bCBtYWNoaW5lcyAoSVNPIGltYWdlKV0oaHR0cHM6Ly90YWlscy5ib3VtLm9yZy90b3JyZW50cy9m
-aWxlcy90YWlscy1hbWQ2NC00LjExfnJjMS5pc28udG9ycmVudCkKCiMjIFRvIGluc3RhbGwgVGFp
-bHMgb24gYSBuZXcgVVNCIHN0aWNrCgpGb2xsb3cgb3VyIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlv
-bnM6CgogICogW0luc3RhbGwgZnJvbSBXaW5kb3dzXShodHRwczovL3RhaWxzLmJvdW0ub3JnL2lu
-c3RhbGwvd2luL3VzYi9pbmRleC5lbi5odG1sKQogICogW0luc3RhbGwgZnJvbSBtYWNPU10oaHR0
-cHM6Ly90YWlscy5ib3VtLm9yZy9pbnN0YWxsL21hYy91c2IvaW5kZXguZW4uaHRtbCkKICAqIFtJ
-bnN0YWxsIGZyb20gTGludXhdKGh0dHBzOi8vdGFpbHMuYm91bS5vcmcvaW5zdGFsbC9saW51eC91
-c2IvaW5kZXguZW4uaHRtbCkKCkFsbCB0aGUgZGF0YSBvbiB0aGlzIFVTQiBzdGljayB3aWxsIGJl
-IGxvc3QuCgojIFdoYXQncyBjb21pbmcgdXA/CgpUYWlscyA0LjExIGlzIFtzY2hlZHVsZWRdKGh0
-dHBzOi8vdGFpbHMuYm91bS5vcmcvY29udHJpYnV0ZS9jYWxlbmRhci8pIGZvcgpTZXB0ZW1iZXIg
-MjIuCgpIYXZlIGEgbG9vayBhdCBvdXIgW3JvYWRtYXBdKGh0dHBzOi8vdGFpbHMuYm91bS5vcmcv
-Y29udHJpYnV0ZS9yb2FkbWFwKSB0byBzZWUKd2hlcmUgd2UgYXJlIGhlYWRpbmcgdG8uCgpXZSBu
-ZWVkIHlvdXIgaGVscCBhbmQgdGhlcmUgYXJlIG1hbnkgd2F5cyB0byBbY29udHJpYnV0ZSB0bwpU
-YWlsc10oaHR0cHM6Ly90YWlscy5ib3VtLm9yZy9jb250cmlidXRlL2luZGV4LmVuLmh0bWwpCihb
-ZG9uYXRpbmddKGh0dHBzOi8vdGFpbHMuYm91bS5vcmcvZG9uYXRlLz9yPTQuMTEtcmMxKSBpcyBv
-bmx5IG9uZSBvZiB0aGVtKS4KQ29tZSBbdGFsayB0byB1c10oaHR0cHM6Ly90YWlscy5ib3VtLm9y
-Zy9hYm91dC9jb250YWN0L2luZGV4LmVuLmh0bWwjdGFpbHMtCmRldikhCgpVUkw6IDxodHRwczov
-L3RhaWxzLmJvdW0ub3JnL25ld3MvdGVzdF80LjExLXJjMS8+Cgo=
+ICAgCiAgICAgICAgICAgZWNobyBUQUlMU19DSEFOTkVMPVwiYWxwaGFcIiB8IHN1ZG8gdGVlIC1h
+IC9ldGMvb3MtcmVsZWFzZSAmJiBcCiAgICAgICAgICAgICAgICB0YWlscy11cGdyYWRlLWZyb250
+ZW5kLXdyYXBwZXIKICAgICAgICAgICAKCkVudGVyIHRoZSBhZG1pbmlzdHJhdGlvbiBwYXNzd29y
+ZCB3aGVuIGFza2VkIGZvciB0aGUgInBhc3N3b3JkIGZvciBhbW5lc2lhIi4KCiAgICAzLiBBZnRl
+ciB0aGUgdXBncmFkZSBpcyBhcHBsaWVkLCByZXN0YXJ0IFRhaWxzIGFuZCBjaG9vc2UgKipBcHBs
+aWNhdGlvbnMgIOKWuCBUYWlscyDilrggQWJvdXQgVGFpbHMqKiB0byB2ZXJpZnkgdGhhdCB5b3Ug
+YXJlIHJ1bm5pbmcgVGFpbHMgNC4xMX5yYzEuCgogICogSWYgeW91IGNhbm5vdCBkbyBhbiBhdXRv
+bWF0aWMgdXBncmFkZSBvciBpZiBUYWlscyBmYWlscyB0byBzdGFydCBhZnRlciBhbiBhdXRvbWF0
+aWMgdXBncmFkZSwgcGxlYXNlIHRyeSB0byBkbyBhIFttYW51YWwgdXBncmFkZV0oaHR0cHM6Ly90
+YWlscy5ib3VtLm9yZy9kb2MvdXBncmFkZS9pbmRleC5lbi5odG1sI21hbnVhbCkuCgojIyBUbyBk
+b3dubG9hZCA0LjExfnJjMQoKIyMjIERpcmVjdCBkb3dubG9hZAoKICAqIFtGb3IgVVNCIHN0aWNr
+cyAoVVNCIGltYWdlKV0oaHR0cDovL2RsLmFtbmVzaWEuYm91bS5vcmcvdGFpbHMvYWxwaGEvdGFp
+bHMtYW1kNjQtNC4xMX5yYzEvdGFpbHMtYW1kNjQtNC4xMX5yYzEuaW1nKSAoWz9dKGh0dHBzOi8v
+dGFpbHMuYm91bS5vcmcvaWtpd2lraS5jZ2k/ZG89Y3JlYXRlJmZyb209bmV3cyUyRnRlc3RfNC4x
+MS1yYzEmcGFnZT10b3JyZW50cyUyRmZpbGVzJTJGdGFpbHMtYW1kNjQtNC4xMX5yYzEuaW1nLnNp
+ZylPcGVuUEdQIHNpZ25hdHVyZSkKCiAgKiBbRm9yIERWRHMgYW5kIHZpcnR1YWwgbWFjaGluZXMg
+KElTTyBpbWFnZSldKGh0dHA6Ly9kbC5hbW5lc2lhLmJvdW0ub3JnL3RhaWxzL2FscGhhL3RhaWxz
+LWFtZDY0LTQuMTF+cmMxL3RhaWxzLWFtZDY0LTQuMTF+cmMxLmlzbykgKFs/XShodHRwczovL3Rh
+aWxzLmJvdW0ub3JnL2lraXdpa2kuY2dpP2RvPWNyZWF0ZSZmcm9tPW5ld3MlMkZ0ZXN0XzQuMTEt
+cmMxJnBhZ2U9dG9ycmVudHMlMkZmaWxlcyUyRnRhaWxzLWFtZDY0LTQuMTF+cmMxLmlzby5zaWcp
+T3BlblBHUCBzaWduYXR1cmUpCgojIyMgQml0VG9ycmVudCBkb3dubG9hZAoKICAqIFtGb3IgVVNC
+IHN0aWNrcyAoVVNCIGltYWdlKV0oaHR0cHM6Ly90YWlscy5ib3VtLm9yZy90b3JyZW50cy9maWxl
+cy90YWlscy1hbWQ2NC00LjExfnJjMS5pbWcudG9ycmVudCkKCiAgKiBbRm9yIERWRHMgYW5kIHZp
+cnR1YWwgbWFjaGluZXMgKElTTyBpbWFnZSldKGh0dHBzOi8vdGFpbHMuYm91bS5vcmcvdG9ycmVu
+dHMvZmlsZXMvdGFpbHMtYW1kNjQtNC4xMX5yYzEuaXNvLnRvcnJlbnQpCgojIyBUbyBpbnN0YWxs
+IFRhaWxzIG9uIGEgbmV3IFVTQiBzdGljawoKRm9sbG93IG91ciBpbnN0YWxsYXRpb24gaW5zdHJ1
+Y3Rpb25zOgoKICAqIFtJbnN0YWxsIGZyb20gV2luZG93c10oaHR0cHM6Ly90YWlscy5ib3VtLm9y
+Zy9pbnN0YWxsL3dpbi91c2IvaW5kZXguZW4uaHRtbCkKICAqIFtJbnN0YWxsIGZyb20gbWFjT1Nd
+KGh0dHBzOi8vdGFpbHMuYm91bS5vcmcvaW5zdGFsbC9tYWMvdXNiL2luZGV4LmVuLmh0bWwpCiAg
+KiBbSW5zdGFsbCBmcm9tIExpbnV4XShodHRwczovL3RhaWxzLmJvdW0ub3JnL2luc3RhbGwvbGlu
+dXgvdXNiL2luZGV4LmVuLmh0bWwpCgpBbGwgdGhlIGRhdGEgb24gdGhpcyBVU0Igc3RpY2sgd2ls
+bCBiZSBsb3N0LgoKIyBXaGF0J3MgY29taW5nIHVwPwoKVGFpbHMgNC4xMSBpcyBbc2NoZWR1bGVk
+XShodHRwczovL3RhaWxzLmJvdW0ub3JnL2NvbnRyaWJ1dGUvY2FsZW5kYXIvKSBmb3IKU2VwdGVt
+YmVyIDIyLgoKSGF2ZSBhIGxvb2sgYXQgb3VyIFtyb2FkbWFwXShodHRwczovL3RhaWxzLmJvdW0u
+b3JnL2NvbnRyaWJ1dGUvcm9hZG1hcCkgdG8gc2VlCndoZXJlIHdlIGFyZSBoZWFkaW5nIHRvLgoK
+V2UgbmVlZCB5b3VyIGhlbHAgYW5kIHRoZXJlIGFyZSBtYW55IHdheXMgdG8gW2NvbnRyaWJ1dGUg
+dG8KVGFpbHNdKGh0dHBzOi8vdGFpbHMuYm91bS5vcmcvY29udHJpYnV0ZS9pbmRleC5lbi5odG1s
+KQooW2RvbmF0aW5nXShodHRwczovL3RhaWxzLmJvdW0ub3JnL2RvbmF0ZS8/cj00LjExLXJjMSkg
+aXMgb25seSBvbmUgb2YgdGhlbSkuCkNvbWUgW3RhbGsgdG8gdXNdKGh0dHBzOi8vdGFpbHMuYm91
+bS5vcmcvYWJvdXQvY29udGFjdC9pbmRleC5lbi5odG1sI3RhaWxzLQpkZXYpIQoKVVJMOiA8aHR0
+cHM6Ly90YWlscy5ib3VtLm9yZy9uZXdzL3Rlc3RfNC4xMS1yYzEvPgoK
 
 --===============...==--
 
@@ -1951,17 +1951,17 @@ For more details, read our
 # Known issues
 
   * Ledger wallets are not detected by _Electrum_ , with the following error 
message returned. 
([#18080](https://gitlab.tails.boum.org/tails/tails/-/issues/18080))
-    
+        
         "No hardware device detected"
-    
+        
 
 Please try to execute the following command in a [root
 
terminal](https://tails.boum.org/doc/first_steps/welcome_screen/administration_password/index.en.html#open_root_terminal)
 before starting _Electrum_ :
 
-    
-         apt update && apt install python3-btchip/testing
-    
+        
+        apt update && apt install python3-btchip/testing
+        
 
 See the list of [long-standing
 issues](https://tails.boum.org/support/known_issues/index.en.html).

++++++ dynamic-version-number.patch ++++++
---
 pyproject.toml |   21 ----------------
 setup.cfg      |   48 ++++++++++++++++++++++++++++++++++++++
 setup.py       |   71 +--------------------------------------------------------
 3 files changed, 50 insertions(+), 90 deletions(-)

Index: rss2email-3.14/pyproject.toml
===================================================================
--- rss2email-3.14.orig/pyproject.toml  2022-08-26 16:54:21.000000000 +0200
+++ /dev/null   1970-01-01 00:00:00.000000000 +0000
@@ -1,21 +0,0 @@
-[tool.poetry]
-name = "rss2email"
-version = "3.12.2"
-description = "Forward RSS feeds to your email address"
-authors = ["Your Name <[email protected]>"]
-license = "GPL-2.0-only"
-
-[tool.poetry.dependencies]
-python = "^3.6"
-feedparser = ">=6.0.5"
-html2text = ">=2020.1.16"
-
-[tool.poetry.dev-dependencies]
-update-copyright = ">=0.6.2"
-
-[build-system]
-requires = ["poetry>=0.12"]
-build-backend = "poetry.masonry.api"
-
-[tool.poetry.scripts]
-r2e = "rss2email.main:run"
Index: rss2email-3.14/setup.cfg
===================================================================
--- /dev/null   1970-01-01 00:00:00.000000000 +0000
+++ rss2email-3.14/setup.cfg    2025-07-01 15:01:34.861755273 +0200
@@ -0,0 +1,48 @@
+[metadata]
+name = rss2email
+version = attr: rss2email.__version__
+description = A python script that converts RSS/Atom newsfeeds to email
+long_description = file: README.rst
+author = Adam Mokhtari, W. Trevor King, Amir Yalon
+author_email = [email protected], [email protected], 
[email protected]
+maintainer = Adam Mokhtari
+maintainer_email = [email protected]
+license = GPL-2.0-or-later
+keywords = rss, atom, feed, email
+classifiers =
+    Development Status :: 5 - Production/Stable
+    Environment :: Console
+    Intended Audience :: End Users/Desktop
+    Operating System :: OS Independent
+    Programming Language :: Python
+    Programming Language :: Python :: 3
+    Programming Language :: Python :: 3.6
+    Programming Language :: Python :: 3.7
+    Programming Language :: Python :: 3.8
+    Programming Language :: Python :: 3.9
+    Programming Language :: Python :: 3.10
+    Programming Language :: Python :: 3.11
+    Topic :: Communications :: Email
+    Topic :: Software Development :: Libraries :: Python Modules
+project_urls =
+    Homepage = https://github.com/rss2email/rss2email
+    Repository = https://github.com/rss2email/rss2email
+    Bug Tracker = https://github.com/rss2email/rss2email/issues
+
+[options]
+python_requires = >=3.6
+install_requires =
+    feedparser>=6.0.5
+    html2text>=2020.1.16
+packages = find:
+
+[options.extras_require]
+dev =
+    update-copyright>=0.6.2
+
+[options.entry_points]
+console_scripts =
+    r2e = rss2email.main:run
+
+[options.packages.find]
+where = .
\ No newline at end of file
Index: rss2email-3.14/setup.py
===================================================================
--- rss2email-3.14.orig/setup.py        2022-08-26 16:54:21.000000000 +0200
+++ rss2email-3.14/setup.py     2025-07-01 14:58:57.349589201 +0200
@@ -1,72 +1,5 @@
-# Copyright (C) 2012-2021 Adam Mokhtari 
<[email protected]>
-#                         Amir Yalon <[email protected]>
-#                         Andrey Zelenchuk <[email protected]>
-#                         Arun Persaud <[email protected]>
-#                         Léo Gaspard <[email protected]>
-#                         Markus Unterwaditzer <[email protected]>
-#                         Profpatsch <[email protected]>
-#                         Steven Siloti <[email protected]>
-#                         W. Trevor King <[email protected]>
-#                         auouymous <[email protected]>
-#
-# This file is part of rss2email.
-#
-# rss2email is free software: you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation, either version 2 of the License, or (at your option) version 3 of
-# the License.
-#
-# rss2email is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# rss2email.  If not, see <http://www.gnu.org/licenses/>.
+#!/usr/bin/python3
 
-"A python script that converts RSS/Atom newsfeeds to email"
-
-import codecs as _codecs
-import os.path as _os_path
 import setuptools
 
-from rss2email import __version__, __url__, __author__, __email__
-
-
-_this_dir = _os_path.dirname(__file__)
-
-setuptools.setup(
-    name='rss2email',
-    version=__version__,
-    maintainer=__author__,
-    maintainer_email=__email__,
-    url=__url__,
-    download_url='{}/archive/v{}.tar.gz'.format(__url__, __version__),
-    license='GNU General Public License (GPL)',
-    platforms=['all'],
-    description=__doc__,
-    long_description=_codecs.open(
-        _os_path.join(_this_dir, 'README.rst'), 'r', encoding='utf-8').read(),
-    classifiers=[
-        'Development Status :: 5 - Production/Stable',
-        'Environment :: Console',
-        'Intended Audience :: End Users/Desktop',
-        'Operating System :: OS Independent',
-        'License :: OSI Approved :: GNU General Public License (GPL)',
-        'License :: OSI Approved :: GNU General Public License v2 (GPLv2)',
-        'License :: OSI Approved :: GNU General Public License v3 (GPLv3)',
-        'Programming Language :: Python',
-        'Programming Language :: Python :: 3',
-        'Programming Language :: Python :: 3.6',
-        'Programming Language :: Python :: 3.7',
-        'Programming Language :: Python :: 3.8',
-        'Topic :: Communications :: Email',
-        'Topic :: Software Development :: Libraries :: Python Modules',
-        ],
-    packages=['rss2email', 'rss2email.post_process'],
-    scripts=['r2e'],
-    provides=['rss2email'],
-    install_requires=[
-        'feedparser>=6.0.5',
-        'html2text>=2020.1.16',
-        ],
-    )
+setuptools.setup()

Reply via email to