From fbb0ab01178a883fb5bf68bb1a60c216a0bd8117 Mon Sep 17 00:00:00 2001 From: RunningDroid Date: Tue, 11 Apr 2023 17:09:02 -0400 Subject: [PATCH] urlwatch: update to 2.26 --- ...afbb047060277b00f570345e7e1969266712.patch | 88 +++++++++++++++++++ srcpkgs/urlwatch/patches/test_handler.patch | 14 --- srcpkgs/urlwatch/template | 18 ++-- 3 files changed, 96 insertions(+), 24 deletions(-) create mode 100644 srcpkgs/urlwatch/patches/6b68afbb047060277b00f570345e7e1969266712.patch delete mode 100644 srcpkgs/urlwatch/patches/test_handler.patch diff --git a/srcpkgs/urlwatch/patches/6b68afbb047060277b00f570345e7e1969266712.patch b/srcpkgs/urlwatch/patches/6b68afbb047060277b00f570345e7e1969266712.patch new file mode 100644 index 000000000000..832b963517e0 --- /dev/null +++ b/srcpkgs/urlwatch/patches/6b68afbb047060277b00f570345e7e1969266712.patch @@ -0,0 +1,88 @@ +From 6b68afbb047060277b00f570345e7e1969266712 Mon Sep 17 00:00:00 2001 +From: Thomas Perl +Date: Wed, 12 Apr 2023 15:22:02 +0200 +Subject: [PATCH] Rework handling of running from a source checkout (fixes + #755) + +diff --git a/CHANGELOG.md b/CHANGELOG.md +index 657e0494..fccf1f1d 100644 +--- a/CHANGELOG.md ++++ b/CHANGELOG.md +@@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. + + The format mostly follows [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). + ++## UNRELEASED ++ ++### Fixed ++ ++- Rework handling of running from a source checkout, fixes issues with example files ++ when `urlwatch` was run as `/usr/sbin/urlwatch`, e.g. on Void Linux (fixes #755) ++ + ## [2.26] -- 2023-04-11 + + ### Added +diff --git a/lib/urlwatch/cli.py b/lib/urlwatch/cli.py +index 75332f09..f6a5802a 100755 +--- a/lib/urlwatch/cli.py ++++ b/lib/urlwatch/cli.py +@@ -47,9 +47,6 @@ + # Check if we are installed in the system already + (prefix, bindir) = os.path.split(os.path.dirname(os.path.abspath(sys.argv[0]))) + +-if bindir != 'bin': +- sys.path.insert(0, os.path.join(prefix, bindir, 'lib')) +- + from urlwatch.command import UrlwatchCommand + from urlwatch.config import CommandConfig + from urlwatch.main import Urlwatch +@@ -90,7 +87,7 @@ def main(): + if os.path.exists(old_cache_file) and not os.path.exists(new_cache_file): + cache_file = old_cache_file + +- command_config = CommandConfig(sys.argv[1:], pkgname, urlwatch_dir, bindir, prefix, ++ command_config = CommandConfig(sys.argv[1:], pkgname, urlwatch_dir, prefix, + config_file, urls_file, hooks_file, cache_file, False) + setup_logger(command_config.verbose) + +diff --git a/lib/urlwatch/config.py b/lib/urlwatch/config.py +index c1075460..40d206ec 100644 +--- a/lib/urlwatch/config.py ++++ b/lib/urlwatch/config.py +@@ -52,20 +52,12 @@ def __init__(self, pkgname, urlwatch_dir, config, urls, cache, hooks, verbose): + + class CommandConfig(BaseConfig): + +- def __init__(self, args, pkgname, urlwatch_dir, bindir, prefix, config, urls, hooks, cache, verbose): ++ def __init__(self, args, pkgname, urlwatch_dir, prefix, config, urls, hooks, cache, verbose): + super().__init__(pkgname, urlwatch_dir, config, urls, cache, hooks, verbose) +- self.bindir = bindir +- self.prefix = prefix + self.migrate_cache = migrate_cache + self.migrate_urls = migrate_urls + +- if self.bindir == 'bin': +- # Installed system-wide +- self.examples_dir = os.path.join(prefix, 'share', self.pkgname, 'examples') +- else: +- # Assume we are not yet installed +- self.examples_dir = os.path.join(prefix, bindir, 'share', self.pkgname, 'examples') +- ++ self.examples_dir = os.path.join(prefix, 'share', self.pkgname, 'examples') + self.urls_yaml_example = os.path.join(self.examples_dir, 'urls.yaml.example') + self.hooks_py_example = os.path.join(self.examples_dir, 'hooks.py.example') + +diff --git a/lib/urlwatch/tests/test_handler.py b/lib/urlwatch/tests/test_handler.py +index 1d5d22e6..7886acc9 100644 +--- a/lib/urlwatch/tests/test_handler.py ++++ b/lib/urlwatch/tests/test_handler.py +@@ -89,8 +89,7 @@ def test_pep8_conformance(): + + class ConfigForTest(CommandConfig): + def __init__(self, config, urls, cache, hooks, verbose): +- (prefix, bindir) = os.path.split(os.path.dirname(os.path.abspath(sys.argv[0]))) +- super().__init__([], 'urlwatch', os.path.dirname(__file__), bindir, prefix, config, urls, hooks, cache, verbose) ++ super().__init__([], 'urlwatch', os.path.dirname(__file__), root, config, urls, hooks, cache, verbose) + + + @contextlib.contextmanager diff --git a/srcpkgs/urlwatch/patches/test_handler.patch b/srcpkgs/urlwatch/patches/test_handler.patch deleted file mode 100644 index 73f301e49f9f..000000000000 --- a/srcpkgs/urlwatch/patches/test_handler.patch +++ /dev/null @@ -1,14 +0,0 @@ -Work around https://github.com/thp/urlwatch/issues/677 - -diff --git a/lib/urlwatch/tests/test_handler.py b/lib/urlwatch/tests/test_handler.py -index 736536a..fac9449 100644 ---- a/lib/urlwatch/tests/test_handler.py -+++ b/lib/urlwatch/tests/test_handler.py -@@ -89,6 +89,7 @@ def test_pep8_conformance(): - - class ConfigForTest(CommandConfig): - def __init__(self, config, urls, cache, hooks, verbose): -+ sys.argv = sys.argv[:1] - (prefix, bindir) = os.path.split(os.path.dirname(os.path.abspath(sys.argv[0]))) - super().__init__('urlwatch', os.path.dirname(__file__), bindir, prefix, config, urls, hooks, cache, verbose) - diff --git a/srcpkgs/urlwatch/template b/srcpkgs/urlwatch/template index bdc8421176c2..58287278fe90 100644 --- a/srcpkgs/urlwatch/template +++ b/srcpkgs/urlwatch/template @@ -1,27 +1,25 @@ # Template file for 'urlwatch' pkgname=urlwatch -version=2.25 -revision=2 +version=2.26 +revision=1 build_style=python3-module +# skip the tests that require python modules that aren't packaged +# (pdftotext & pytesseract) +make_check_args="-k not((pdf)or(ocr))" hostmakedepends="python3-setuptools" depends="python3-appdirs python3-keyring python3-minidb python3-requests python3-yaml python3-lxml python3-cssselect" # Check the Docs for optional packages: # https://urlwatch.readthedocs.io/en/latest/dependencies.html#optional-packages checkdepends="python3-pytest python3-pycodestyle python3-docutils - python3-Pygments python3-jq ${depends}" + python3-jq ${depends}" short_desc="Tool for monitoring webpages for updates" maintainer="RunningDroid " license="BSD-3-Clause" homepage="https://thp.io/2008/urlwatch/" +changelog="https://raw.githubusercontent.com/thp/urlwatch/master/CHANGELOG.md" distfiles="${PYPI_SITE}/u/urlwatch/urlwatch-${version}.tar.gz" -checksum=6802297d3318286e7f3d36b9a4567a2fb09b0ae779d4b76811dd29a7281c1f8a - -do_check() { - # skip the tests that require python modules that aren't packaged - # (pdftotext & pytesseract) - pytest -k 'not (pdf or ocr)' -v -} +checksum=b14bbe23d87b7d4ac8b4e71a51fd2066908a947ccf7b557c3e4f87b09f455e8f post_install() { vlicense COPYING