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()
