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
|
rss2email-2.66.tar.gz
|
||||||
/v3.12.2.tar.gz
|
/rss2email-2.70.tar.gz
|
||||||
/v3.12.3.tar.gz
|
/rss2email-2.71.tar.gz
|
||||||
/v3.13.1.tar.gz
|
|
||||||
/v3.14.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
|
Name: rss2email
|
||||||
Version: 3.14
|
Version: 2.71
|
||||||
Release: 16%{?dist}
|
Release: 16%{?dist}
|
||||||
Summary: Deliver news from RSS feeds to your SMTP server as text or HTML mail
|
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: GPLv2 or GPLv3
|
||||||
License: GPL-2.0-or-later OR GPL-3.0-or-later
|
URL: http://www.allthingsrss.com/rss2email/
|
||||||
URL: https://github.com/%{name}/%{name}
|
Source0: http://www.allthingsrss.com/rss2email/rss2email-%{version}.tar.gz
|
||||||
Source0: %{url}/archive/v%{version}.tar.gz
|
# Fedora variant of the "r2e" shell-wrapper script to run rss2email.py
|
||||||
# Migration tool (rss2email 2.x to rss2email 3.x) from https://github.com/emillon/rss2email-debian
|
# in its home directory.
|
||||||
Source1: r2e-migrate
|
Source3: rss2email-r2e
|
||||||
Source2: r2e-migrate.1
|
# man page taken from
|
||||||
Source3: README.migrate
|
# http://ftp.de.debian.org/debian/pool/main/r/rss2email/rss2email_2.71-2.debian.tar.gz
|
||||||
Patch1: rss2email-3.14-remove-special-bytes.patch
|
# but with a few modifications and fixes
|
||||||
Patch2: rss2email-3.14-fix-tests-pr-279.patch
|
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
|
BuildArch: noarch
|
||||||
BuildRequires: python3-devel
|
|
||||||
BuildRequires: python3-feedparser >= 6.0.5
|
# These Python modules are imported by rss2email.
|
||||||
BuildRequires: python3-html2text >= 2018.1.9
|
# The rss2email tarball contains copies of them, because some dists ship
|
||||||
BuildRequires: python3-beautifulsoup4
|
# old modules which result in rss2email bug reports. We want to use the
|
||||||
Recommends: python3-beautifulsoup4
|
# external packages due to Fedora packaging policies.
|
||||||
Recommends: esmtp
|
#
|
||||||
# r2e-migrate
|
# 2011-01-12
|
||||||
Requires: python3-pyxdg
|
# - 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
|
%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.
|
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.
|
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
|
%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
|
sed -i -e 's/\r//' CHANGELOG rss2email.py config.py.example
|
||||||
%pyproject_buildrequires
|
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%pyproject_wheel
|
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%pyproject_install
|
mkdir -p \
|
||||||
%pyproject_save_files -L %{name}
|
$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 -p -m 0755 rss2email.py $RPM_BUILD_ROOT%{_datadir}/%{name}/
|
||||||
|
install -p -m 0755 r2e $RPM_BUILD_ROOT%{_bindir}/r2e
|
||||||
install -D -m 644 -p r2e.1 %{buildroot}%{_mandir}/man1/r2e.1
|
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 -D -m 755 -p %{SOURCE1} %{buildroot}%{_bindir}/r2e-migrate
|
install -p -m 0644 config.py.example $RPM_BUILD_ROOT%{_datadir}/%{name}/
|
||||||
install -D -m 644 -p %{SOURCE2} %{buildroot}%{_mandir}/man1/r2e-migrate.1
|
|
||||||
|
|
||||||
|
|
||||||
%check
|
%files
|
||||||
%pyproject_check_import
|
%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
|
%changelog
|
||||||
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 3.14-16
|
* Fri Sep 27 2019 David Kaufmann <astra@ionic.at> - 2.71-16
|
||||||
- Rebuilt for Python 3.14.0rc3 bytecode
|
- 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
|
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.71-15
|
||||||
- Rebuilt for Python 3.14.0rc2 bytecode
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.14-14
|
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.71-14
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
* Fri Jul 11 2025 David Kaufmann <astra@ionic.at> - 3.14-13
|
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.71-13
|
||||||
- Moved to new python3 build system
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
- Fix indentation in testcases
|
|
||||||
|
|
||||||
* Tue Jun 03 2025 Python Maint <python-maint@redhat.com> - 3.14-12
|
* Wed Jan 31 2018 Iryna Shcherbina <ishcherb@redhat.com> - 2.71-12
|
||||||
- Rebuilt for Python 3.14
|
- Update Python 2 dependency declarations to new packaging standards
|
||||||
|
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
|
||||||
* 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
|
|
||||||
|
|
||||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.71-11
|
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.71-11
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
- 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.
|
- Various minor spec file adjustments.
|
||||||
|
|
||||||
* Sun Jul 04 2010 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 2.66-1
|
* 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
|
* 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
|
- 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