aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames French <james@french.id.au>2023-09-27 06:18:39 +0000
committerFernando ApesteguĂ­a <fernape@FreeBSD.org>2023-09-28 08:43:31 +0000
commitfba7d62c39c329fc92434056bd54dd84937afa84 (patch)
treeb0e11a40467e51d32e86575c1087ad40337880e4
parent9b65e5946fd09b02d7974755bb8af1d30a498adb (diff)
downloadports-fba7d62c39c329fc92434056bd54dd84937afa84.tar.gz
ports-fba7d62c39c329fc92434056bd54dd84937afa84.zip
news/sabnzbd: Update to 4.1.0
ChangeLog: https://github.com/sabnzbd/sabnzbd/releases/tag/4.1.0 Changes since 4.0.3 * Added a dark mode for the Config, Login, and Wizard pages. * Added multi-select to the History. * Show the number of items in post-processing when in Tabbed mode. * Added option verify_xff_header to include X-Forwarded-For when * validating if connections should be accepted when using a proxy. * Added option to purge log files from the Folders Config page. * Moved Server IP address selection and On failure, try alternative NZB to Special settings. * Special setting ipv6_servers changed to on/off. * Only use 7zip to unpack .zip files. * Windows: Added option enable_multipar to use par2cmdline-turbo * instead of Multipar for verification and repair. It is faster, * but on Windows it can fail on special (UTF8) filenames. * macOS: Switched to par2cmdline-turbo for verification and repair. * Linux: Detect more recent versions of 7zip. * Windows: Use All Users locations during installation of shortcuts. * Windows/macOS: Updated Python to 3.11.5, 7Zip to 23.01 and * UnRar to 6.23. All these updates include security fixes. Bugfixes since 4.0.3 * Series duplicate detection did not detect duplicates. * Sorting would append .1 to some filenames. * If a paused queue contained items with Force priority, * items with a lower priority would also be downloaded. * Not all API-keys were removed during log-sanitization. * In certain situations, not all data would be written to disk. * Folder names could be sanitized too eagerly. * Some articles would fail to decode. * QuickCheck could wrongly rename files with identical content. * Warning about Scripts Folder location was triggered incorrectly. PR: 274114 Reported by: james@french.id.au (maintainer)
-rw-r--r--news/sabnzbd/Makefile3
-rw-r--r--news/sabnzbd/distinfo6
-rw-r--r--news/sabnzbd/files/patch-sabctools116
-rw-r--r--news/sabnzbd/files/patch-sabnzbd_newsunpack.py11
-rw-r--r--news/sabnzbd/pkg-plist2
5 files changed, 6 insertions, 132 deletions
diff --git a/news/sabnzbd/Makefile b/news/sabnzbd/Makefile
index 9821244c0149..1b7cbeb9e167 100644
--- a/news/sabnzbd/Makefile
+++ b/news/sabnzbd/Makefile
@@ -1,6 +1,5 @@
PORTNAME= sabnzbd
-DISTVERSION= 4.0.2
-PORTREVISION= 1
+DISTVERSION= 4.1.0
CATEGORIES= news
MASTER_SITES= https://github.com/sabnzbd/sabnzbd/releases/download/${DISTVERSION}/
DISTNAME= SABnzbd-${DISTVERSION}-src
diff --git a/news/sabnzbd/distinfo b/news/sabnzbd/distinfo
index 6433ee11ccf8..eb7593029619 100644
--- a/news/sabnzbd/distinfo
+++ b/news/sabnzbd/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1688165296
-SHA256 (SABnzbd-4.0.2-src.tar.gz) = 2783f225057031869dff74f7eb191f54f35e8abe60906fcaaa94ab7772166c4e
-SIZE (SABnzbd-4.0.2-src.tar.gz) = 5081392
+TIMESTAMP = 1695777660
+SHA256 (SABnzbd-4.1.0-src.tar.gz) = 24cdc711a9a9425b65b53dd5c084f78cc0f6d978c5c712481b7031751d569588
+SIZE (SABnzbd-4.1.0-src.tar.gz) = 5074695
diff --git a/news/sabnzbd/files/patch-sabctools b/news/sabnzbd/files/patch-sabctools
deleted file mode 100644
index da0463501ac0..000000000000
--- a/news/sabnzbd/files/patch-sabctools
+++ /dev/null
@@ -1,116 +0,0 @@
-Obtained from: https://github.com/sabnzbd/sabnzbd/commit/a179f2a895259e49f3679405ad59cac06e0bf2d9
- https://github.com/sabnzbd/sabnzbd/commit/a951361fa639235e9252cd32c5c7264ff0f1a70a
-
---- requirements.txt.orig 2023-06-07 19:24:42 UTC
-+++ requirements.txt
-@@ -1,6 +1,6 @@
- # Main requirements
- # Note that not all sub-dependencies are listed, but only ones we know could cause trouble
--sabctools==7.0.2
-+sabctools==7.1.1
- cheetah3==3.2.6.post1
- cffi==1.15.1
- pycparser==2.21
---- sabnzbd/assembler.py.orig 2023-06-07 19:24:42 UTC
-+++ sabnzbd/assembler.py
-@@ -27,6 +27,7 @@ from threading import Thread
- import ctypes
- from typing import Tuple, Optional, List
-
-+import sabctools
- import sabnzbd
- from sabnzbd.misc import get_all_passwords, match_str
- from sabnzbd.filesystem import (
-@@ -160,13 +161,21 @@ class Assembler(Thread):
-
- @staticmethod
- def assemble(nzo: NzbObject, nzf: NzbFile, file_done: bool):
-- """Assemble a NZF from its table of articles
-- 1) Partial write: write what we have
-- 2) Nothing written before: write all
-- """
-+ """Assemble a NZF from its table of articles"""
-
-+ # When a file exists, we cannot use "w+b"
-+ if os.path.exists(nzf.filepath):
-+ open_mode = "r+b"
-+ file_sparse = True
-+ else:
-+ open_mode = "w+b"
-+ file_sparse = False
-+
- # We write large article-sized chunks, so we can safely skip the buffering of Python
-- with open(nzf.filepath, "ab", buffering=0) as fout:
-+ with open(nzf.filepath, open_mode, buffering=0) as fout:
-+ # Track position, so we can prevent a seek if writing continuous
-+ file_position = 0
-+
- for article in nzf.decodetable:
- # Break if deleted during writing
- if nzo.status is Status.DELETED:
-@@ -178,9 +187,25 @@ class Assembler(Thread):
-
- # Write all decoded articles
- if article.decoded:
-+ # On first write try to make the file sparse
-+ if not file_sparse and article.file_size is not None and article.file_size > 0:
-+ file_sparse = True
-+ try:
-+ sabctools.sparse(fout, article.file_size)
-+ except:
-+ logging.debug("Failed to make %s sparse with length %d", nzf.filepath, article.file_size)
-+ logging.debug("Traceback: ", exc_info=True)
-+
- data = sabnzbd.ArticleCache.load_article(article)
- # Could be empty in case nzo was deleted
- if data:
-+ if article.data_begin is not None:
-+ # Seek ahead if needed
-+ if article.data_begin != file_position:
-+ fout.seek(article.data_begin)
-+ file_position = article.data_begin + len(data)
-+ else:
-+ fout.seek(0, os.SEEK_END)
- fout.write(data)
- nzf.update_crc32(article.crc32, len(data))
- article.on_disk = True
---- sabnzbd/constants.py.orig 2023-06-07 19:24:42 UTC
-+++ sabnzbd/constants.py
-@@ -49,7 +49,7 @@ RENAMES_FILE = "__renames__"
- ATTRIB_FILE = "SABnzbd_attrib"
- REPAIR_REQUEST = "repair-all.sab"
-
--SABCTOOLS_VERSION_REQUIRED = "7.0.2"
-+SABCTOOLS_VERSION_REQUIRED = "7.1.0"
-
- DB_HISTORY_VERSION = 1
- DB_HISTORY_NAME = "history%s.db" % DB_HISTORY_VERSION
---- sabnzbd/decoder.py.orig 2023-06-07 19:24:42 UTC
-+++ sabnzbd/decoder.py
-@@ -172,7 +172,7 @@ def decode(article: Article, raw_data: bytearray):
-
- def decode_yenc(article: Article, data: bytearray) -> bytearray:
- # Let SABCTools do all the heavy lifting
-- yenc_filename, article.data_begin, article.data_size, crc_correct = sabctools.yenc_decode(data)
-+ yenc_filename, article.file_size, article.data_begin, article.data_size, crc_correct = sabctools.yenc_decode(data)
-
- nzf = article.nzf
- # Assume it is yenc
---- sabnzbd/nzbstuff.py.orig 2023-06-07 19:24:42 UTC
-+++ sabnzbd/nzbstuff.py
-@@ -163,6 +163,7 @@ ArticleSaver = (
- "bytes",
- "lowest_partnum",
- "decoded",
-+ "file_size",
- "data_begin",
- "data_size",
- "on_disk",
-@@ -187,6 +188,7 @@ class Article(TryList):
- self.fetcher_priority: int = 0
- self.tries: int = 0 # Try count
- self.decoded: bool = False
-+ self.file_size: Optional[int] = None
- self.data_begin: Optional[int] = None
- self.data_size: Optional[int] = None
- self.on_disk: bool = False
diff --git a/news/sabnzbd/files/patch-sabnzbd_newsunpack.py b/news/sabnzbd/files/patch-sabnzbd_newsunpack.py
deleted file mode 100644
index 65a739398ad0..000000000000
--- a/news/sabnzbd/files/patch-sabnzbd_newsunpack.py
+++ /dev/null
@@ -1,11 +0,0 @@
---- sabnzbd/newsunpack.py.orig 2022-01-28 10:50:34 UTC
-+++ sabnzbd/newsunpack.py
-@@ -136,6 +136,8 @@ def find_programs(curdir: str):
- if not sabnzbd.newsunpack.SEVENZIP_COMMAND:
- sabnzbd.newsunpack.SEVENZIP_COMMAND = find_on_path("7za") # 7za = 7z stand-alone executable
- if not sabnzbd.newsunpack.SEVENZIP_COMMAND:
-+ sabnzbd.newsunpack.SEVENZIP_COMMAND = find_on_path("7zz")
-+ if not sabnzbd.newsunpack.SEVENZIP_COMMAND:
- sabnzbd.newsunpack.SEVENZIP_COMMAND = find_on_path("7z")
-
- if not (sabnzbd.WIN32 or sabnzbd.DARWIN):
diff --git a/news/sabnzbd/pkg-plist b/news/sabnzbd/pkg-plist
index 331b71e6b415..fe81e5ab6dcf 100644
--- a/news/sabnzbd/pkg-plist
+++ b/news/sabnzbd/pkg-plist
@@ -143,6 +143,8 @@ bin/SABnzbd.py
%%DATADIR%%/interfaces/Config/templates/staticcfg/bootstrap/fonts/glyphicons-halflings-regular.svg
%%DATADIR%%/interfaces/Config/templates/staticcfg/bootstrap/fonts/glyphicons-halflings-regular.ttf
%%DATADIR%%/interfaces/Config/templates/staticcfg/bootstrap/js/bootstrap.min.js
+%%DATADIR%%/interfaces/Config/templates/staticcfg/css/Auto.css
+%%DATADIR%%/interfaces/Config/templates/staticcfg/css/Night.css
%%DATADIR%%/interfaces/Config/templates/staticcfg/css/chartist.min.css
%%DATADIR%%/interfaces/Config/templates/staticcfg/css/login.css
%%DATADIR%%/interfaces/Config/templates/staticcfg/css/style.css