Compare commits
1 commit
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7d5bdd854c |
16 changed files with 473 additions and 607 deletions
8
.gitignore
vendored
8
.gitignore
vendored
|
|
@ -1,5 +1,3 @@
|
|||
/rss2email-*.tar.gz
|
||||
/v3.12.2.tar.gz
|
||||
/v3.12.3.tar.gz
|
||||
/v3.13.1.tar.gz
|
||||
/v3.14.tar.gz
|
||||
rss2email-2.66.tar.gz
|
||||
/rss2email-2.70.tar.gz
|
||||
/rss2email-2.71.tar.gz
|
||||
|
|
|
|||
23
0003-Setup-the-correct-version-number-in-rss2email.py.patch
Normal file
23
0003-Setup-the-correct-version-number-in-rss2email.py.patch
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
From: Etienne Millon <etienne.millon@gmail.com>
|
||||
Date: Fri, 26 Aug 2011 19:05:15 +0200
|
||||
Subject: Setup the correct version number in rss2email.py
|
||||
|
||||
This version is 2.71, but __version__ incorrectly states that it is 2.70.
|
||||
This number is used in the User-Agent string and in error messages.
|
||||
---
|
||||
rss2email.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/rss2email.py b/rss2email.py
|
||||
index 0dc2d04..7696d99 100755
|
||||
--- a/rss2email.py
|
||||
+++ b/rss2email.py
|
||||
@@ -15,7 +15,7 @@ Usage:
|
||||
opmlexport
|
||||
opmlimport filename
|
||||
"""
|
||||
-__version__ = "2.70"
|
||||
+__version__ = "2.71"
|
||||
__author__ = "Lindsey Smith (lindsey@allthingsrss.com)"
|
||||
__copyright__ = "(C) 2004 Aaron Swartz. GNU GPL 2 or 3."
|
||||
___contributors__ = ["Dean Jackson", "Brian Lalor", "Joey Hess",
|
||||
33
0006-Prefer-utf8-in-CHARSET_LIST.patch
Normal file
33
0006-Prefer-utf8-in-CHARSET_LIST.patch
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
From: Etienne Millon <etienne.millon@gmail.com>
|
||||
Date: Mon, 20 Feb 2012 15:28:52 +0100
|
||||
Subject: Prefer utf8 in CHARSET_LIST
|
||||
|
||||
Bug-Debian: http://bugs.debian.org/659920
|
||||
---
|
||||
config.py.example | 2 +-
|
||||
rss2email.py | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/config.py.example b/config.py.example
|
||||
index cdd760b..ee2e004 100755
|
||||
--- a/config.py.example
|
||||
+++ b/config.py.example
|
||||
@@ -91,4 +91,4 @@ PROXY=""
|
||||
|
||||
# To most correctly encode emails with international characters, we iterate through the list below and use the first character set that works
|
||||
# Eventually (and theoretically) ISO-8859-1 and UTF-8 are our catch-all failsafes
|
||||
-CHARSET_LIST='US-ASCII', 'BIG5', 'ISO-2022-JP', 'ISO-8859-1', 'UTF-8'
|
||||
+CHARSET_LIST='US-ASCII', 'ISO-8859-1', 'UTF-8', 'BIG5', 'ISO-2022-JP'
|
||||
diff --git a/rss2email.py b/rss2email.py
|
||||
index 9735b28..69998db 100755
|
||||
--- a/rss2email.py
|
||||
+++ b/rss2email.py
|
||||
@@ -108,7 +108,7 @@ PROXY=""
|
||||
|
||||
# To most correctly encode emails with international characters, we iterate through the list below and use the first character set that works
|
||||
# Eventually (and theoretically) ISO-8859-1 and UTF-8 are our catch-all failsafes
|
||||
-CHARSET_LIST='US-ASCII', 'BIG5', 'ISO-2022-JP', 'ISO-8859-1', 'UTF-8'
|
||||
+CHARSET_LIST='US-ASCII', 'ISO-8859-1', 'UTF-8', 'BIG5', 'ISO-2022-JP'
|
||||
|
||||
from email.MIMEText import MIMEText
|
||||
from email.Header import Header
|
||||
47
0008-Fix-encoding-of-From-and-To-headers.patch.diff
Normal file
47
0008-Fix-encoding-of-From-and-To-headers.patch.diff
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
--- rss2email-2.71/debian/patches/0008-Fix-encoding-of-From-and-To-headers.patch 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ rss2email-2.71/debian/patches/0008-Fix-encoding-of-From-and-To-headers.patch 2013-01-23 16:37:07.000000000 +0100
|
||||
@@ -0,0 +1,44 @@
|
||||
+From: Thorsten Glaser <t.glaser@tarent.de>
|
||||
+Date: Wed, 23 Jan 2013 15:25:35 +0100
|
||||
+Subject: Fix encoding of From and To headers
|
||||
+
|
||||
+Debian-Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=638994
|
||||
+---
|
||||
+ rss2email.py | 10 ++++++++--
|
||||
+ 1 file changed, 8 insertions(+), 2 deletions(-)
|
||||
+
|
||||
+diff --git a/rss2email.py b/rss2email.py
|
||||
+index a6c3cbe..bdfb41a 100755
|
||||
+--- a/rss2email.py
|
||||
++++ b/rss2email.py
|
||||
+@@ -114,6 +114,12 @@ from email.MIMEText import MIMEText
|
||||
+ from email.Header import Header as _Header
|
||||
+ from email.Utils import parseaddr, formataddr
|
||||
+
|
||||
++def name_format(realname, mailaddress):
|
||||
++ if not realname:
|
||||
++ return mailaddress
|
||||
++ foo = formataddr(("." + realname, mailaddress))
|
||||
++ return foo.replace(".", "", 1)
|
||||
++
|
||||
+ class Header(_Header):
|
||||
+ # Work-around for <http://bugs.python.org/issue5871>
|
||||
+ def append(self, s=None, *args, **kwargs):
|
||||
+@@ -166,7 +172,7 @@ def send(sender, recipient, subject, body, contenttype, extraheaders=None, smtps
|
||||
+
|
||||
+ # Create the message ('plain' stands for Content-Type: text/plain)
|
||||
+ msg = MIMEText(body.encode(body_charset), contenttype, body_charset)
|
||||
+- msg['To'] = formataddr((recipient_name, recipient_addr))
|
||||
++ msg['To'] = name_format(recipient_name, recipient_addr)
|
||||
+ msg['Subject'] = Header(unicode(subject), header_charset)
|
||||
+ for hdr in extraheaders.keys():
|
||||
+ try:
|
||||
+@@ -174,7 +180,7 @@ def send(sender, recipient, subject, body, contenttype, extraheaders=None, smtps
|
||||
+ except:
|
||||
+ msg[hdr] = Header(extraheaders[hdr])
|
||||
+
|
||||
+- fromhdr = formataddr((sender_name, sender_addr))
|
||||
++ fromhdr = name_format(sender_name, sender_addr)
|
||||
+ msg['From'] = fromhdr
|
||||
+
|
||||
+ msg_as_string = msg.as_string()
|
||||
26
0009-Show-python2-explicitely-in-shebang.patch
Normal file
26
0009-Show-python2-explicitely-in-shebang.patch
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
--- rss2email-2.71/feedparser.py 2019-09-27 02:24:47.181023634 +0200
|
||||
+++ rss2email-2.71/feedparser.py 2019-09-27 02:28:29.474661430 +0200
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env python
|
||||
+#!/usr/bin/env python2
|
||||
"""Universal feed parser
|
||||
|
||||
Handles RSS 0.9x, RSS 1.0, RSS 2.0, CDF, Atom 0.3, and Atom 1.0 feeds
|
||||
diff -ur rss2email-2.71-orig/html2text.py rss2email-2.71/html2text.py
|
||||
--- rss2email-2.71-orig/html2text.py 2019-09-27 02:24:47.182023614 +0200
|
||||
+++ rss2email-2.71/html2text.py 2019-09-27 02:28:33.928574026 +0200
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env python
|
||||
+#!/usr/bin/env python2
|
||||
"""html2text: Turn HTML into equivalent Markdown-structured text."""
|
||||
__version__ = "3.01"
|
||||
__author__ = "Aaron Swartz (me@aaronsw.com)"
|
||||
diff -ur rss2email-2.71-orig/rss2email.py rss2email-2.71/rss2email.py
|
||||
--- rss2email-2.71-orig/rss2email.py 2019-09-27 02:24:47.182023614 +0200
|
||||
+++ rss2email-2.71/rss2email.py 2019-09-27 02:25:05.269668674 +0200
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/python
|
||||
+#!/usr/bin/python2
|
||||
"""rss2email: get RSS feeds emailed to you
|
||||
http://rss2email.infogami.com
|
||||
|
||||
118
0010-Extract-deprecated-html2text-unescape.patch
Normal file
118
0010-Extract-deprecated-html2text-unescape.patch
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
--- rss2email-2.71-orig/rss2email.py 2019-09-27 02:24:47.182023614 +0200
|
||||
+++ rss2email-2.71/rss2email.py 2019-09-27 03:13:01.529137689 +0200
|
||||
@@ -350,6 +350,106 @@
|
||||
if type(s) is types.UnicodeType: return s.encode('utf-8')
|
||||
else: return s
|
||||
|
||||
+### Extracted code from deprecated html2text.unescape(s) ###
|
||||
+
|
||||
+import htmlentitydefs
|
||||
+import re
|
||||
+
|
||||
+class HTML2TextUnescape:
|
||||
+ def __init__(self):
|
||||
+ self.RE_UNESCAPE = re.compile(r"&(#?[xX]?(?:[0-9a-fA-F]+|\w{1,8}));")
|
||||
+ self.UNIFIABLE = {
|
||||
+ 'rsquo': "'",
|
||||
+ 'lsquo': "'",
|
||||
+ 'rdquo': '"',
|
||||
+ 'ldquo': '"',
|
||||
+ 'copy': '(C)',
|
||||
+ 'mdash': '--',
|
||||
+ 'nbsp': ' ',
|
||||
+ 'rarr': '->',
|
||||
+ 'larr': '<-',
|
||||
+ 'middot': '*',
|
||||
+ 'ndash': '-',
|
||||
+ 'oelig': 'oe',
|
||||
+ 'aelig': 'ae',
|
||||
+ 'agrave': 'a',
|
||||
+ 'aacute': 'a',
|
||||
+ 'acirc': 'a',
|
||||
+ 'atilde': 'a',
|
||||
+ 'auml': 'a',
|
||||
+ 'aring': 'a',
|
||||
+ 'egrave': 'e',
|
||||
+ 'eacute': 'e',
|
||||
+ 'ecirc': 'e',
|
||||
+ 'euml': 'e',
|
||||
+ 'igrave': 'i',
|
||||
+ 'iacute': 'i',
|
||||
+ 'icirc': 'i',
|
||||
+ 'iuml': 'i',
|
||||
+ 'ograve': 'o',
|
||||
+ 'oacute': 'o',
|
||||
+ 'ocirc': 'o',
|
||||
+ 'otilde': 'o',
|
||||
+ 'ouml': 'o',
|
||||
+ 'ugrave': 'u',
|
||||
+ 'uacute': 'u',
|
||||
+ 'ucirc': 'u',
|
||||
+ 'uuml': 'u',
|
||||
+ 'lrm': '',
|
||||
+ 'rlm': ''
|
||||
+ }
|
||||
+
|
||||
+ self.unifiable_n = {}
|
||||
+ for k in self.UNIFIABLE:
|
||||
+ self.unifiable_n[self.name2cp(k)] = self.UNIFIABLE[k]
|
||||
+
|
||||
+ def name2cp(self, k):
|
||||
+ """Return sname to codepoint"""
|
||||
+ if k == 'apos':
|
||||
+ return ord("'")
|
||||
+ return htmlentitydefs.name2codepoint[k]
|
||||
+
|
||||
+ def charref(self, name):
|
||||
+ if name[0] in ['x', 'X']:
|
||||
+ c = int(name[1:], 16)
|
||||
+ else:
|
||||
+ c = int(name)
|
||||
+
|
||||
+ if c in unifiable_n:
|
||||
+ return unifiable_n[c]
|
||||
+ else:
|
||||
+ try:
|
||||
+ return chr(c)
|
||||
+ except ValueError: # invalid unicode
|
||||
+ return ''
|
||||
+
|
||||
+ def entityref(self, c):
|
||||
+ if c in UNIFIABLE:
|
||||
+ return UNIFIABLE[c]
|
||||
+ else:
|
||||
+ try:
|
||||
+ name2cp(c)
|
||||
+ except KeyError:
|
||||
+ return "&" + c + ';'
|
||||
+ else:
|
||||
+ if c == 'nbsp':
|
||||
+ return UNIFIABLE[c]
|
||||
+ else:
|
||||
+ return chr(name2cp(c))
|
||||
+
|
||||
+ def replaceEntities(self, s):
|
||||
+ s = s.group(1)
|
||||
+ if s[0] == "#":
|
||||
+ return self.charref(s[1:])
|
||||
+ else:
|
||||
+ return self.entityref(s)
|
||||
+
|
||||
+ def unescape(self, s):
|
||||
+ return self.RE_UNESCAPE.sub(self.replaceEntities, s)
|
||||
+
|
||||
+def h2t_unescape(s):
|
||||
+ return HTML2TextUnescape().unescape(s)
|
||||
+
|
||||
### Parsing Utilities ###
|
||||
|
||||
def getContent(entry, HTMLOK=0):
|
||||
@@ -678,7 +778,7 @@
|
||||
|
||||
from_addr = getEmail(r, entry)
|
||||
|
||||
- name = h2t.unescape(getName(r, entry))
|
||||
+ name = h2t_unescape(getName(r, entry))
|
||||
fromhdr = formataddr((name, from_addr,))
|
||||
tohdr = (f.to or default_to)
|
||||
subjecthdr = title
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
rss2email 3.x introduces a new, incompatible format for configuration and
|
||||
feed data. Please review the r2e(1) manpage for details on the new
|
||||
configuration format.
|
||||
|
||||
You can migrate (parts of) your data, using the provided r2e-migrate
|
||||
executable: it will set up your default email address, feed list, and
|
||||
already-seen database.
|
||||
153
r2e-migrate
153
r2e-migrate
|
|
@ -1,153 +0,0 @@
|
|||
#!/usr/bin/python3
|
||||
#
|
||||
# Migrate data from the rss2email 2.x format to the 3.x format.
|
||||
#
|
||||
# Copyright (c) 2013, Etienne Millon <me@emillon.org>
|
||||
# Redistributable under the GPL version 2 or later
|
||||
#
|
||||
# Please report bugs and suggestion on the Debian bugtracker using the
|
||||
# "reportbug rss2email" command.
|
||||
#
|
||||
# Changelog:
|
||||
#
|
||||
# v6 (2017-12-28)
|
||||
# - ported to Python 3 using 2to3
|
||||
#
|
||||
# v5 (2015-07-04)
|
||||
# - support per-feed addresses
|
||||
#
|
||||
# v4 (2014-06-10)
|
||||
# - support XDG directories
|
||||
#
|
||||
# v3 (2014-02-04)
|
||||
# - Write status file (already-seen DB)
|
||||
# - Fix path in error message
|
||||
#
|
||||
# v2 (2013-09-17)
|
||||
# - Preserve paused status (Denis Laxalde)
|
||||
#
|
||||
# v1 (2013-08-12)
|
||||
# - Migrate feed names only.
|
||||
#
|
||||
|
||||
import json
|
||||
import os.path
|
||||
import pickle
|
||||
import string
|
||||
import subprocess
|
||||
import sys
|
||||
import xdg.BaseDirectory
|
||||
|
||||
|
||||
class Feed:
|
||||
def __init__(self, url, to):
|
||||
self.url, self.etag, self.modified, self.seen = url, None, None, {}
|
||||
self.active = True
|
||||
self.to = to
|
||||
|
||||
def __repr__(self):
|
||||
fmt = '\n'.join(['Feed(url={url},',
|
||||
' etag={etag},',
|
||||
' modified={modified},',
|
||||
' seen={seen},',
|
||||
' active={active},',
|
||||
' to={to},',
|
||||
')',
|
||||
])
|
||||
return fmt.format(**self.__dict__)
|
||||
|
||||
|
||||
def not_empty(g):
|
||||
try:
|
||||
next(g)
|
||||
return True
|
||||
except StopIteration:
|
||||
return False
|
||||
|
||||
|
||||
def new_db_exists():
|
||||
config = xdg.BaseDirectory.load_config_paths('rss2email.cfg')
|
||||
data = xdg.BaseDirectory.load_data_paths('rss2email.json')
|
||||
return not_empty(config) or not_empty(data)
|
||||
|
||||
|
||||
def set_email(s):
|
||||
return subprocess.call(['r2e', 'email', s])
|
||||
|
||||
|
||||
def slugify_char(c):
|
||||
allowed = string.ascii_letters + string.digits + '._-'
|
||||
if c in allowed:
|
||||
return c
|
||||
else:
|
||||
return '_'
|
||||
|
||||
|
||||
def slugify(s):
|
||||
return ''.join([slugify_char(c) for c in s])
|
||||
|
||||
|
||||
def add(url, name, to):
|
||||
extra_args = []
|
||||
if to is not None:
|
||||
extra_args = [to]
|
||||
return subprocess.call(['r2e', 'add', name, url] + extra_args)
|
||||
|
||||
|
||||
def pause(name):
|
||||
return subprocess.call(['r2e', 'pause', name])
|
||||
|
||||
|
||||
def main():
|
||||
if new_db_exists():
|
||||
print("""
|
||||
It seems that a rss2email 3.x database already exists, exiting.
|
||||
If you want to import your old (rss2email 2.x) database, please remove
|
||||
~/.config/rss2email.cfg and ~/.local/share/rss2email.json (or XDG
|
||||
equivalents) and re-run r2e-migrate.
|
||||
""")
|
||||
sys.exit(1)
|
||||
|
||||
old_feed_data_file = os.path.expanduser('~/.rss2email/feeds.dat')
|
||||
with open(old_feed_data_file) as f:
|
||||
data = pickle.load(f)
|
||||
|
||||
email = data[0]
|
||||
feeds = data[1:]
|
||||
|
||||
status = {'version': 2,
|
||||
'feeds': [],
|
||||
}
|
||||
|
||||
print('Default email address: {}'.format(email))
|
||||
set_email(email)
|
||||
|
||||
print('Adding feeds:')
|
||||
for feed in feeds:
|
||||
url = feed.url
|
||||
print(url)
|
||||
name = slugify(url)
|
||||
add(url, name, feed.to)
|
||||
if not feed.active:
|
||||
pause(name)
|
||||
modified = None
|
||||
if feed.modified:
|
||||
modified = str(feed.modified)
|
||||
feed_status = {'seen': {},
|
||||
'etag': feed.etag,
|
||||
'name': str(name),
|
||||
'modified': modified,
|
||||
}
|
||||
for k, v in list(feed.seen.items()):
|
||||
feed_status['seen'][k] = {'id': v}
|
||||
status['feeds'].append(feed_status)
|
||||
|
||||
# save_data_path would work but rss2email uses a bare file
|
||||
data_dir = xdg.BaseDirectory.xdg_data_home
|
||||
new_status_file = os.path.join(data_dir, 'rss2email.json')
|
||||
with open(new_status_file, 'w') as statf:
|
||||
json.dump(status, statf)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
.TH r2e\-migrate 1 "2013\-02\-04"
|
||||
.SH NAME
|
||||
r2e\-migrate \- Migrate your data from rss2email 2.x to rss2email 3.x.
|
||||
.SH USAGE
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
r2e\-migrate
|
||||
\f[]
|
||||
.fi
|
||||
.PP
|
||||
Please note that you may still have to adapt your configuration.
|
||||
See \f[C]r2e(1)\f[].
|
||||
.SH FILES
|
||||
.PP
|
||||
2.x versions used to store configuration in
|
||||
\f[C]~/.rss2email/config.py\f[] and data in
|
||||
\f[C]~/.rss2email/feeds.dat\f[].
|
||||
.PP
|
||||
Now 3.x stores its configuration in
|
||||
\f[C]$XDG_CONFIG_HOME/rss2email.cfg\f[] and data in
|
||||
\f[C]$XDG_DATA_HOME/rss2email.json\f[].
|
||||
.SH AUTHORS
|
||||
Etienne Millon <me@emillon.org>.
|
||||
22
rss2email-2.70-config-location.patch
Normal file
22
rss2email-2.70-config-location.patch
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
diff -Nur rss2email-2.70-orig/rss2email.py rss2email-2.70/rss2email.py
|
||||
--- rss2email-2.70-orig/rss2email.py 2010-12-17 19:29:34.000000000 +0100
|
||||
+++ rss2email-2.70/rss2email.py 2011-01-12 18:57:25.775331913 +0100
|
||||
@@ -254,11 +254,13 @@
|
||||
|
||||
# Read options from config file if present.
|
||||
import sys
|
||||
-sys.path.insert(0,".")
|
||||
-try:
|
||||
- from config import *
|
||||
-except:
|
||||
- pass
|
||||
+import os
|
||||
+cfgpaths = [os.path.join(os.getcwd(),"config.py"),
|
||||
+ os.path.join(os.environ["HOME"],".rss2email/config.py"),]
|
||||
+for cfgfile in cfgpaths:
|
||||
+ if os.path.exists(cfgfile):
|
||||
+ execfile(cfgfile)
|
||||
+ break
|
||||
|
||||
warn = sys.stderr
|
||||
|
||||
|
|
@ -1,234 +0,0 @@
|
|||
diff --git a/test/data/tails/1.expected b/test/data/tails/1.expected
|
||||
index cd6238c..0feef24 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>" <user@rss2email.invalid>
|
||||
@@ -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 7b48a67..7e9fd49 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).
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
--- a/test/data/allthingsrss/feed.atom
|
||||
+++ b/test/data/allthingsrss/feed.atom
|
||||
@@ -47,7 +47,7 @@
|
||||
</ul>
|
||||
<p>Complete list in the official <a href="http://www.allthingsrss.com/rss2email/changelog">CHANGELOG</a>.</p>
|
||||
<p><strong>Pause/Unpause</strong></p>
|
||||
-<p>Through <code>r2e pause <em>n</em></code> where <em>n</em> is a feed number, you can temporarily suspend checking that feed for new content. To start checking it again, simply run <code>r2e unpause <em>n</em></code>. When you <code>r2e list</code>, an asterisk indicates that the feed is currently unpaused and active.</p>
|
||||
+<p>Through <code>r2e pause <em>n</em></code> where <em>n</em> is a feed number, you can temporarily suspend checking that feed for new content. To start checking it again, simply run <code>r2e unpause <em>n</em></code>. When you <code>r2e list</code>, an asterisk indicates that the feed is currently unpaused and active.</p>
|
||||
|
||||
<p><a href="http://feedads.g.doubleclick.net/~a/nYgTsIUsS9pmvRZ6092XGGHnNKg/0/da"><img src="http://feedads.g.doubleclick.net/~a/nYgTsIUsS9pmvRZ6092XGGHnNKg/0/di" border="0" ismap="true"></img></a><br/>
|
||||
<a href="http://feedads.g.doubleclick.net/~a/nYgTsIUsS9pmvRZ6092XGGHnNKg/1/da"><img src="http://feedads.g.doubleclick.net/~a/nYgTsIUsS9pmvRZ6092XGGHnNKg/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/allthingsrss/hJBr/~4/bT-I0iH2vw8" height="1" width="1"/></content>
|
||||
24
rss2email-r2e
Normal file
24
rss2email-r2e
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
#!/bin/sh
|
||||
datadir=@datadir@
|
||||
r2ehome=${datadir}/rss2email
|
||||
cfgtemplate=${r2ehome}/config.py.example
|
||||
dotr2e=${HOME}/.rss2email
|
||||
|
||||
if [ ! -e ${dotr2e} ]
|
||||
then
|
||||
mkdir ${dotr2e}
|
||||
fi
|
||||
|
||||
if [ ! -e ${dotr2e}/config.py ] && [ -e ${cfgtemplate} ]
|
||||
then
|
||||
cp -a ${cfgtemplate} ${dotr2e}/config.py
|
||||
fi
|
||||
|
||||
if [ "${1}" = "--feedext" ] && [ "${2}" ]
|
||||
then
|
||||
fileext="${2}"
|
||||
shift 2
|
||||
exec python ${r2ehome}/rss2email.py ${dotr2e}/feeds.dat."${fileext}" "$@"
|
||||
else
|
||||
exec python ${r2ehome}/rss2email.py ${dotr2e}/feeds.dat "$@"
|
||||
fi
|
||||
94
rss2email-r2e.1
Normal file
94
rss2email-r2e.1
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
.TH R2E 1
|
||||
.SH NAME
|
||||
r2e \- receive RSS feeds by email
|
||||
.SH SYNOPSIS
|
||||
.B r2e action [options]
|
||||
.SH DESCRIPTION
|
||||
.BR r2e
|
||||
is a simple program which you can run in your crontab.
|
||||
It watches RSS feeds and sends you a nicely formatted email message
|
||||
for each new item.
|
||||
.P
|
||||
The program is configured by ~/.rss2email/config.py
|
||||
.P
|
||||
For a quick start with r2e, try these steps:
|
||||
.P
|
||||
.RS
|
||||
.nf
|
||||
.BI "r2e new " your@address
|
||||
.BI "r2e add " http://feed.url/somewhere.rss
|
||||
.BI "r2e run "
|
||||
.RE
|
||||
.P
|
||||
The last command should eventually be put into your crontab, if you
|
||||
want things be sent you automatically.
|
||||
.P
|
||||
It is possible to use authenticated feeds using the following syntax:
|
||||
.P
|
||||
.RS
|
||||
.nf
|
||||
.BI "r2e add " http://user:password@example.com/feed
|
||||
.RE
|
||||
.SH ACTIONS
|
||||
.TP
|
||||
.B new [youremail]
|
||||
Create a new feedfile. If the second option is specified, it sets the
|
||||
default email address that mails are sent to.
|
||||
.TP
|
||||
.B add url [youremail]
|
||||
Subscribe to a feed. The first option is the URL of the feed.
|
||||
The optional second option is the email address to send new items to.
|
||||
Repeat for each feed you want to subscribe to.
|
||||
.TP
|
||||
.B run [\-\-no\-send] [num]
|
||||
Scan the feeds and send emails for new items. This can be run in a cron
|
||||
job.
|
||||
.P
|
||||
The \-\-no\-send option stops r2e from sending any email. This can be
|
||||
useful the first time you run it, as otherwise it would send every
|
||||
available story.
|
||||
.P
|
||||
If a number is specified, r2e will only download that feed. The list
|
||||
command lists the feed numbers.
|
||||
.TP
|
||||
.B email yournewemail
|
||||
Change the default email address.
|
||||
.TP
|
||||
.B list
|
||||
List all your currently subscribed feeds.
|
||||
.TP
|
||||
.B delete n
|
||||
Delete a feed, using its number from the list command.
|
||||
.TP
|
||||
.B pause n
|
||||
Temporarily ignore a feed. A paused feed won't be updated at all.
|
||||
.TP
|
||||
.B unpause n
|
||||
Re-enable updates from a feed.
|
||||
.TP
|
||||
.B opmlimport url
|
||||
Import feeds from an OPML file.
|
||||
.TP
|
||||
.B opmlexport
|
||||
Export feeds to standard output, as an OPML file.
|
||||
.SH "CONFIGURATION"
|
||||
The program's behavior can be controlled via the ~/.rss2email/config.py
|
||||
config file. The file is a python file, so variables are set using a syntax
|
||||
like this: VARIABLE = "value"
|
||||
.P
|
||||
If the value is a number, the quotes may be omitted. Most configuration
|
||||
variables in the file are boolean values, where a 1 indicates the option is
|
||||
set, and a 0 disables it.
|
||||
.P
|
||||
See the example config.py file for a full list of available configuration
|
||||
variables.
|
||||
.SH FILES
|
||||
.TP
|
||||
.B ~/.rss2email/feeds.dat
|
||||
The database of feeds. Use r2e to add, remove, or modify feeds, do not edit
|
||||
it directly.
|
||||
.TP
|
||||
.B ~/.rss2email/config.py
|
||||
If this file exists, it is read to configure the program.
|
||||
.SH AUTHOR
|
||||
Aaron Swartz <rss2email@aaronsw.com>
|
||||
254
rss2email.spec
254
rss2email.spec
|
|
@ -1,207 +1,117 @@
|
|||
Name: rss2email
|
||||
Version: 3.14
|
||||
Version: 2.71
|
||||
Release: 16%{?dist}
|
||||
Summary: Deliver news from RSS feeds to your SMTP server as text or HTML mail
|
||||
|
||||
# Automatically converted from old format: GPLv2+ or GPLv3+ - review is highly recommended.
|
||||
License: GPL-2.0-or-later OR GPL-3.0-or-later
|
||||
URL: https://github.com/%{name}/%{name}
|
||||
Source0: %{url}/archive/v%{version}.tar.gz
|
||||
# Migration tool (rss2email 2.x to rss2email 3.x) from https://github.com/emillon/rss2email-debian
|
||||
Source1: r2e-migrate
|
||||
Source2: r2e-migrate.1
|
||||
Source3: README.migrate
|
||||
Patch1: rss2email-3.14-remove-special-bytes.patch
|
||||
Patch2: rss2email-3.14-fix-tests-pr-279.patch
|
||||
License: GPLv2 or GPLv3
|
||||
URL: http://www.allthingsrss.com/rss2email/
|
||||
Source0: http://www.allthingsrss.com/rss2email/rss2email-%{version}.tar.gz
|
||||
# Fedora variant of the "r2e" shell-wrapper script to run rss2email.py
|
||||
# in its home directory.
|
||||
Source3: rss2email-r2e
|
||||
# man page taken from
|
||||
# http://ftp.de.debian.org/debian/pool/main/r/rss2email/rss2email_2.71-2.debian.tar.gz
|
||||
# but with a few modifications and fixes
|
||||
Source4: rss2email-r2e.1
|
||||
|
||||
# Let rss2email also look for ${HOME}/.rss2email/config.py
|
||||
# Remove the sys.path.insert(0,'.') module search path list alteration.
|
||||
# Problem and intended purpose of the patch reported upstream.
|
||||
Patch0: rss2email-2.70-config-location.patch
|
||||
|
||||
# Patches included in Debian package.
|
||||
Patch1003: 0003-Setup-the-correct-version-number-in-rss2email.py.patch
|
||||
Patch1006: 0006-Prefer-utf8-in-CHARSET_LIST.patch
|
||||
Patch1008: 0008-Fix-encoding-of-From-and-To-headers.patch.diff
|
||||
Patch1009: 0009-Show-python2-explicitely-in-shebang.patch
|
||||
Patch1010: 0010-Extract-deprecated-html2text-unescape.patch
|
||||
|
||||
BuildArch: noarch
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-feedparser >= 6.0.5
|
||||
BuildRequires: python3-html2text >= 2018.1.9
|
||||
BuildRequires: python3-beautifulsoup4
|
||||
Recommends: python3-beautifulsoup4
|
||||
Recommends: esmtp
|
||||
# r2e-migrate
|
||||
Requires: python3-pyxdg
|
||||
|
||||
# These Python modules are imported by rss2email.
|
||||
# The rss2email tarball contains copies of them, because some dists ship
|
||||
# old modules which result in rss2email bug reports. We want to use the
|
||||
# external packages due to Fedora packaging policies.
|
||||
#
|
||||
# 2011-01-12
|
||||
# - feedparser in Fedora 14 : 4.1
|
||||
# - feedparser in rss2email 2.66 to 2.70 : 4.2-pre
|
||||
# 2011-04-11
|
||||
# - feedparser 5.0.2 in Fedora >= 14
|
||||
# - html2text 3.02 on its way to Fedora >= 15
|
||||
Requires: python2-feedparser >= 5.0.1
|
||||
Requires: python2-html2text >= 3.01
|
||||
|
||||
%description
|
||||
%{name} lets you subscribe to a list of XML news feeds (RSS or Atom). It can
|
||||
rss2email lets you subscribe to a list of XML newsfeeds (RSS or Atom). It can
|
||||
parse them regularly with the help of cron and send new items to you by email.
|
||||
|
||||
An HTML mail will be send in the default configuration to the local SMTP server.
|
||||
See the manual page r2e for details on how to set up %{name}.
|
||||
See the manual page r2e for details on how to set up rss2email.
|
||||
|
||||
%package zsh-completion
|
||||
Summary: zsh-completion files for rss2email
|
||||
BuildArch: noarch
|
||||
Supplements: (rss2email and zsh)
|
||||
Requires: zsh
|
||||
Requires: rss2email
|
||||
|
||||
%description zsh-completion
|
||||
This package provides %{summary}.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
# 2.71 tarball contains bad file permissions
|
||||
# even for the top dir
|
||||
%setup -q -c -n %{name}-fakeroot
|
||||
chmod +x *
|
||||
chmod +rw * -R
|
||||
cp -a %{name}-%{version}/* .
|
||||
|
||||
cp -p %{SOURCE3} .
|
||||
chmod -x CHANGELOG readme* config*
|
||||
# prepare the custom "r2e" wrapper script
|
||||
cat %{SOURCE3} | sed -e 's!@datadir@!%{_datadir}!' > r2e
|
||||
|
||||
%patch0 -p1 -b .config-location
|
||||
%patch1003 -p1 -b .correct-version-number
|
||||
%patch1006 -p1 -b .prefer-utf8-in-charset-list
|
||||
%patch1008 -p1 -b .fix-encoding-of-from-and-to-headers
|
||||
%patch1009 -p1 -b .show-python2-explicitely-in-shebang
|
||||
%patch1010 -p1 -b .extract-deprecated-html2text-unescape
|
||||
|
||||
%generate_buildrequires
|
||||
%pyproject_buildrequires
|
||||
sed -i -e 's/\r//' CHANGELOG rss2email.py config.py.example
|
||||
|
||||
|
||||
%build
|
||||
%pyproject_wheel
|
||||
|
||||
|
||||
%install
|
||||
%pyproject_install
|
||||
%pyproject_save_files -L %{name}
|
||||
mkdir -p \
|
||||
$RPM_BUILD_ROOT%{_bindir}/ \
|
||||
$RPM_BUILD_ROOT%{_datadir}/%{name}/ \
|
||||
$RPM_BUILD_ROOT%{_mandir}/man1/
|
||||
|
||||
install -D -m 644 -p completion/r2e.zsh %{buildroot}%{_datadir}/zsh/functions/Completion/Unix/_r2e
|
||||
|
||||
install -D -m 644 -p r2e.1 %{buildroot}%{_mandir}/man1/r2e.1
|
||||
|
||||
install -D -m 755 -p %{SOURCE1} %{buildroot}%{_bindir}/r2e-migrate
|
||||
install -D -m 644 -p %{SOURCE2} %{buildroot}%{_mandir}/man1/r2e-migrate.1
|
||||
install -p -m 0755 rss2email.py $RPM_BUILD_ROOT%{_datadir}/%{name}/
|
||||
install -p -m 0755 r2e $RPM_BUILD_ROOT%{_bindir}/r2e
|
||||
install -p -m 0644 %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man1/r2e.1
|
||||
# the copy in docdir may not be present for an --excludedocs install
|
||||
install -p -m 0644 config.py.example $RPM_BUILD_ROOT%{_datadir}/%{name}/
|
||||
|
||||
|
||||
%check
|
||||
%pyproject_check_import
|
||||
%files
|
||||
%doc CHANGELOG readme.html config.py.example
|
||||
%{_bindir}/*
|
||||
%{_datadir}/%{name}/
|
||||
%{_mandir}/man1/*
|
||||
|
||||
PATH="${PATH}:%{buildroot}%{_bindir}" PYTHONPATH=%{buildroot}%{python3_sitelib} %{__python3} ./test/test.py
|
||||
|
||||
|
||||
%files -f %{pyproject_files}
|
||||
%license COPYING
|
||||
%doc AUTHORS CHANGELOG README.rst README.migrate
|
||||
%{_bindir}/r2e
|
||||
%{_bindir}/r2e-migrate
|
||||
%{_mandir}/man1/r2e.1*
|
||||
%{_mandir}/man1/r2e-migrate.1*
|
||||
|
||||
%files zsh-completion
|
||||
%{_datadir}/zsh/functions/Completion/Unix/_r2e
|
||||
|
||||
%changelog
|
||||
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 3.14-16
|
||||
- Rebuilt for Python 3.14.0rc3 bytecode
|
||||
* Fri Sep 27 2019 David Kaufmann <astra@ionic.at> - 2.71-16
|
||||
- Fix build error due to missing explicite python shebang
|
||||
- Extract deprecated and removed method unescape from html2text
|
||||
|
||||
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 3.14-15
|
||||
- Rebuilt for Python 3.14.0rc2 bytecode
|
||||
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.71-15
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.14-14
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.71-14
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Fri Jul 11 2025 David Kaufmann <astra@ionic.at> - 3.14-13
|
||||
- Moved to new python3 build system
|
||||
- Fix indentation in testcases
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.71-13
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Tue Jun 03 2025 Python Maint <python-maint@redhat.com> - 3.14-12
|
||||
- Rebuilt for Python 3.14
|
||||
|
||||
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.14-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Wed Aug 07 2024 Miroslav Suchý <msuchy@redhat.com> - 3.14-10
|
||||
- convert license to SPDX
|
||||
|
||||
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.14-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Wed Jun 12 2024 David Kaufmann <astra@ionic.at> - 3.14-8
|
||||
- Remove special characters from Testcase
|
||||
|
||||
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 3.14-7
|
||||
- Rebuilt for Python 3.13
|
||||
|
||||
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.14-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.14-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.14-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Wed Jun 14 2023 Python Maint <python-maint@redhat.com> - 3.14-3
|
||||
- Rebuilt for Python 3.12
|
||||
|
||||
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.14-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Sat Aug 27 2022 David Kaufmann <astra@ionic.at> - 3.14-1
|
||||
- Update to 3.14
|
||||
|
||||
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.13.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Tue Jun 28 2022 David Kaufmann <astra@ionic.at> - 3.13.1-1
|
||||
- Update to 3.13.1
|
||||
|
||||
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 3.12.3-5
|
||||
- Rebuilt for Python 3.11
|
||||
|
||||
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.12.3-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.12.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 3.12.3-2
|
||||
- Rebuilt for Python 3.10
|
||||
|
||||
* Fri Mar 19 2021 Fedora Release Monitoring <release-monitoring@fedoraproject.org> - 3.12.3-1
|
||||
- Update to 3.12.3 (#1941090)
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.12.2-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Thu Dec 31 2020 David Kaufmann <astra@ionic.at> - 3.12.2-2
|
||||
- Update to feedparser 6
|
||||
|
||||
* Tue Sep 01 2020 David Kaufmann <astra@ionic.at> - 3.12.2-1
|
||||
- Update to 3.12.2
|
||||
- Reference files by tag instead of commit
|
||||
|
||||
* Fri Aug 07 2020 David Kaufmann <astra@ionic.at> - 3.12.1-1
|
||||
- Update to 3.12.1
|
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.11-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 3.11-4
|
||||
- Rebuilt for Python 3.9
|
||||
|
||||
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.11-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Mon Oct 28 2019 David Kaufmann <astra@ionic.at> - 3.11-2
|
||||
- Clean up spec file a bit
|
||||
- Get rid of over-globbing
|
||||
- Add zsh-completion subpackage
|
||||
|
||||
* Mon Oct 28 2019 David Kaufmann <astra@ionic.at> - 3.11-1.20191028gitb4eae44
|
||||
- Add new `user-agent` attribute for configuring email User-Agent
|
||||
|
||||
* Mon Sep 23 2019 David Kaufmann <astra@ionic.at> - 3.10-2.20190909git9c2d407
|
||||
- Enable tests
|
||||
- Use automatically generated dependencies for python packages for f30+
|
||||
|
||||
* Mon Sep 09 2019 David Kaufmann <astra@ionic.at> - 3.10-1.20190909git9c2d407
|
||||
- Update to latest git version
|
||||
|
||||
* Mon Aug 12 2019 David Kaufmann <astra@ionic.at> - 3.9-3.20190812git4708c4b
|
||||
- Include package review recommendations
|
||||
|
||||
* Mon Aug 12 2019 David Kaufmann <astra@ionic.at> - 3.9-2.20190812git4708c4b
|
||||
- Update to latest git version
|
||||
- Fix python version name for EPEL7
|
||||
|
||||
* Thu Dec 28 2017 Filip Szymański <fszymanski@fedoraproject.org> - 3.9-1.20171228gite21e803
|
||||
- Update to 3.9
|
||||
- Major spec file cleanup
|
||||
* Wed Jan 31 2018 Iryna Shcherbina <ishcherb@redhat.com> - 2.71-12
|
||||
- Update Python 2 dependency declarations to new packaging standards
|
||||
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.71-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
|
@ -256,7 +166,7 @@ PATH="${PATH}:%{buildroot}%{_bindir}" PYTHONPATH=%{buildroot}%{python3_sitelib}
|
|||
- Various minor spec file adjustments.
|
||||
|
||||
* Sun Jul 04 2010 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 2.66-1
|
||||
- update to 2.66, which now is shipped in a tarball
|
||||
- update to 2.66, which now is shipped in a tarball
|
||||
|
||||
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.65-3.1
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (v3.14.tar.gz) = 42308a3ae2bfe3adaf4b904983c2270a162d268ce5f4357d853a7ba74814d97dc5dc66d7d94ef6b3fbe510e8368361f63a99de814d3388f37b190fa63594a727
|
||||
7d7dbac5aa181b07261516213a312f39 rss2email-2.71.tar.gz
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue