mirror of
https://github.com/lilydjwg/nvchecker.git
synced 2025-03-10 06:14:02 +00:00
New version checker for software releases
Arch chroots with recent devtools has options=(debug) by default, and thus test_alpm fails: _________________________ ERROR at setup of test_alpm __________________________ module = <module 'tests.test_alpm' from '/build/nvchecker/src/nvchecker/tests/test_alpm.py'> def setup_module(module): global temp_dir, db_path temp_dir = tempfile.TemporaryDirectory() temp_path = pathlib.Path(temp_dir.name) pkg_path = temp_path / 'test-pkg' pkg_path.mkdir() with (pkg_path / 'PKGBUILD').open('w') as f: f.write( 'pkgname=test-pkg\n' 'pkgver=1.2.3\n' 'pkgrel=4\n' 'arch=(any)\n' 'provides=("test-provides=5.6-7" "test-provides-unversioned")\n' ) subprocess.check_call(['makepkg', '--nosign'], cwd=pkg_path) pkg_file = subprocess.check_output(['makepkg', '--packagelist'], cwd=pkg_path, text=True).strip() db_path = pkg_path / 'test-db' db_path.mkdir() repo_path = db_path / 'sync' repo_path.mkdir() > subprocess.check_call([ 'repo-add', repo_path / 'test-repo.db.tar.gz', pkg_path / pkg_file ]) tests/test_alpm.py:40: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ popenargs = (['repo-add', PosixPath('/tmp/tmp2kl26h_y/test-pkg/test-db/sync/test-repo.db.tar.gz'), PosixPath('/pkgdest/test-pkg-1.2.3-4-any.pkg.tar.zst\n/pkgdest/test-pkg-debug-1.2.3-4-any.pkg.tar.zst')],) kwargs = {}, retcode = 1 cmd = ['repo-add', PosixPath('/tmp/tmp2kl26h_y/test-pkg/test-db/sync/test-repo.db.tar.gz'), PosixPath('/pkgdest/test-pkg-1.2.3-4-any.pkg.tar.zst\n/pkgdest/test-pkg-debug-1.2.3-4-any.pkg.tar.zst')] def check_call(*popenargs, **kwargs): """Run command with arguments. Wait for command to complete. If the exit code was zero then return, otherwise raise CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute. The arguments are the same as for the call function. Example: check_call(["ls", "-l"]) """ retcode = call(*popenargs, **kwargs) if retcode: cmd = kwargs.get("args") if cmd is None: cmd = popenargs[0] > raise CalledProcessError(retcode, cmd) E subprocess.CalledProcessError: Command '['repo-add', PosixPath('/tmp/tmp2kl26h_y/test-pkg/test-db/sync/test-repo.db.tar.gz'), PosixPath('/pkgdest/test-pkg-1.2.3-4-any.pkg.tar.zst\n/pkgdest/test-pkg-debug-1.2.3-4-any.pkg.tar.zst')]' returned non-zero exit status 1. /usr/lib/python3.10/subprocess.py:369: CalledProcessError ---------------------------- Captured stdout setup ----------------------------- ==> Making package: test-pkg 1.2.3-4 (Fri Apr 7 11:53:43 2023) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Retrieving sources... ==> Extracting sources... ==> Entering fakeroot environment... ==> Tidying install... -> Removing libtool files... -> Purging unwanted files... -> Removing static library files... -> Stripping unneeded symbols from binaries and libraries... -> Compressing man and info pages... ==> Checking for packaging issues... ==> Creating package "test-pkg"... -> Generating .PKGINFO file... -> Generating .BUILDINFO file... -> Generating .MTREE file... -> Compressing package... ==> Leaving fakeroot environment. ==> Finished making: test-pkg 1.2.3-4 (Fri Apr 7 11:53:44 2023) ==> No packages modified, nothing to do. ---------------------------- Captured stderr setup ----------------------------- ==> ERROR: File '/pkgdest/test-pkg-1.2.3-4-any.pkg.tar.zst /pkgdest/test-pkg-debug-1.2.3-4-any.pkg.tar.zst' not found. |
||
---|---|---|
.github/workflows | ||
docs | ||
nvchecker | ||
nvchecker_source | ||
scripts | ||
tests | ||
.gitignore | ||
.typos.toml | ||
keyfile.toml.enc | ||
LICENSE | ||
mypy.ini | ||
pyproject.toml | ||
README.rst | ||
sample_config.toml | ||
setup.cfg | ||
tox.ini |
**nvchecker** (short for *new version checker*) is for checking if a new version of some software has been released. This is the version 2.0 branch. For the old version 1.x, please switch to the ``v1.x`` branch. .. image:: https://github.com/lilydjwg/nvchecker/workflows/run%20tests/badge.svg?branch=master :alt: Test Status :target: https://github.com/lilydjwg/nvchecker/actions?query=workflow%3A%22run+tests%22 .. image:: https://badge.fury.io/py/nvchecker.svg :alt: PyPI version :target: https://badge.fury.io/py/nvchecker .. image:: https://readthedocs.org/projects/nvchecker/badge/?version=latest :target: https://nvchecker.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status | .. image:: https://repology.org/badge/vertical-allrepos/nvchecker.svg :alt: Packaging status :target: https://repology.org/metapackage/nvchecker/versions .. contents:: :local: Dependency ---------- - Python 3.7+ - Python library: structlog, tomli, platformdirs - One of these Python library combinations (ordered by preference): * tornado + pycurl * aiohttp * httpx with http2 support (experimental; only latest version is supported) * tornado - All commands used in your software version configuration files Install and Run --------------- To install:: pip3 install nvchecker To use the latest code, you can also clone this repository and run:: pip install . To see available options:: nvchecker --help Run with one or more software version files:: nvchecker -c config_file You normally will like to specify some "version record files"; see below. Documentation ------------- For detailed documentation, see `https://nvchecker.readthedocs.io/en/latest/ <https://nvchecker.readthedocs.io/en/latest/>`_.