Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package osc for openSUSE:Factory checked in at 2022-09-20 19:24:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/osc (Old) and /work/SRC/openSUSE:Factory/.osc.new.2083 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "osc" Tue Sep 20 19:24:00 2022 rev:166 rq:1004901 version:0.182.0 Changes: -------- --- /work/SRC/openSUSE:Factory/osc/osc.changes 2022-08-11 18:33:12.382208107 +0200 +++ /work/SRC/openSUSE:Factory/.osc.new.2083/osc.changes 2022-09-20 19:24:05.534561562 +0200 @@ -1,0 +2,13 @@ +Thu Sep 8 11:53:22 UTC 2022 - Daniel Mach <daniel.m...@suse.com> + +- 0.182.0 + - fix build on SLE12 / python 2.7 + - SSH auth: Fix getallmatchingheaders() output to correspond with headers.get_all() + - send HTTP header Accept: application/xml + - git_version: return version from the source code if there's no matching tag + +- spec file: + - Revert to python2 on SLE12 + - Recommend openssh for ssh key auth + +------------------------------------------------------------------- Old: ---- osc-0.181.0.tar.gz New: ---- osc-0.182.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ osc.spec ++++++ --- /var/tmp/diff_new_pack.lFJE2b/_old 2022-09-20 19:24:06.218563524 +0200 +++ /var/tmp/diff_new_pack.lFJE2b/_new 2022-09-20 19:24:06.222563536 +0200 @@ -16,7 +16,7 @@ # -%if 0%{?suse_version} >= 1315 || 0%{?fedora} >= 29 || 0%{?rhel} >= 7 || 0%{?mageia} >= 8 +%if 0%{?suse_version} >= 1500 || 0%{?fedora} >= 29 || 0%{?rhel} >= 7 || 0%{?mageia} >= 8 %bcond_without python3 %else %bcond_with python3 @@ -37,7 +37,7 @@ %define use_pythonpkg python %endif -%define version_unconverted 0.181.0 +%define version_unconverted 0.182.0 %define osc_plugin_dir %{_prefix}/lib/osc-plugins %define macros_file macros.osc %if ! %{defined _rpmmacrodir} @@ -45,7 +45,7 @@ %endif Name: osc -Version: 0.181.0 +Version: 0.182.0 Release: 0 Summary: Open Build Service Commander License: GPL-2.0-or-later @@ -75,6 +75,7 @@ BuildArch: noarch %endif %if 0%{?suse_version} +Recommends: openssh Requires: %{use_pythonpkg} Recommends: %{use_pythonpkg}-progressbar BuildRequires: %{use_pythonpkg}-xml ++++++ PKGBUILD ++++++ --- /var/tmp/diff_new_pack.lFJE2b/_old 2022-09-20 19:24:06.258563639 +0200 +++ /var/tmp/diff_new_pack.lFJE2b/_new 2022-09-20 19:24:06.262563650 +0200 @@ -1,5 +1,5 @@ pkgname=osc -pkgver=0.181.0 +pkgver=0.182.0 pkgrel=0 pkgdesc="Open Build Service client" arch=('x86_64') ++++++ _service ++++++ --- /var/tmp/diff_new_pack.lFJE2b/_old 2022-09-20 19:24:06.290563731 +0200 +++ /var/tmp/diff_new_pack.lFJE2b/_new 2022-09-20 19:24:06.294563742 +0200 @@ -1,7 +1,7 @@ <services> <service name="tar_scm" mode="disabled"> - <param name="version">0.181.0</param> - <param name="revision">0.181.0</param> + <param name="version">0.182.0</param> + <param name="revision">0.182.0</param> <param name="url">https://github.com/openSUSE/osc.git</param> <param name="scm">git</param> </service> ++++++ debian.changelog ++++++ --- /var/tmp/diff_new_pack.lFJE2b/_old 2022-09-20 19:24:06.342563880 +0200 +++ /var/tmp/diff_new_pack.lFJE2b/_new 2022-09-20 19:24:06.346563892 +0200 @@ -1,4 +1,4 @@ -osc (0.181.0-0) unstable; urgency=low +osc (0.182.0-0) unstable; urgency=low - Update to 0.174.0: - fix password deletion via "osc config -d <apiurl> pass" - support changing the password store via "osc config <apiurl> ++++++ osc-0.181.0.tar.gz -> osc-0.182.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.181.0/.github/workflows/unittests.yaml new/osc-0.182.0/.github/workflows/unittests.yaml --- old/osc-0.181.0/.github/workflows/unittests.yaml 2022-07-26 21:34:07.000000000 +0200 +++ new/osc-0.182.0/.github/workflows/unittests.yaml 2022-09-08 13:33:46.000000000 +0200 @@ -2,9 +2,17 @@ on: push: - branches: ['master'] + branches: ['0.x-maint'] + paths: + - '.github/**' + - '**.py' + - 'tests/**' pull_request: - branches: ['master'] + branches: ['0.x-maint'] + paths: + - '.github/**' + - '**.py' + - 'tests/**' jobs: test: @@ -50,7 +58,7 @@ zypper --non-interactive --gpg-auto-import-keys refresh zypper --non-interactive dist-upgrade zypper --non-interactive install git-lfs - zypper --non-interactive install diffstat diffutils python3 python3-chardet python3-M2Crypto python3-pip python3-rpm python3-setuptools + zypper --non-interactive install diffstat diffutils python3 python3-M2Crypto python3-pip python3-rpm python3-setuptools - name: 'Install packages (Fedora/CentOS)' if: ${{ startsWith(matrix.container, 'fedora:') || contains(matrix.container, 'centos:') }} @@ -58,7 +66,7 @@ dnf -y makecache dnf -y distro-sync dnf -y install git-lfs - dnf -y install diffstat diffutils python3 python3-chardet python3-m2crypto python3-pip python3-rpm python3-setuptools + dnf -y install diffstat diffutils python3 python3-m2crypto python3-pip python3-rpm python3-setuptools - name: 'Install packages (Debian/Ubuntu)' if: ${{ startsWith(matrix.container, 'debian:') || startsWith(matrix.container, 'ubuntu:') }} @@ -66,7 +74,7 @@ apt-get -y update apt-get -y upgrade apt-get -y --no-install-recommends install git-lfs - apt-get -y --no-install-recommends install diffstat diffutils python3 python3-chardet python3-m2crypto python3-pip python3-rpm python3-setuptools + apt-get -y --no-install-recommends install diffstat diffutils python3 python3-m2crypto python3-pip python3-rpm python3-setuptools - uses: actions/checkout@v3 @@ -84,3 +92,36 @@ - name: 'Upload coverage reports to Codecov (OpenSUSE Tumbleweed)' if: ${{ matrix.container == 'opensuse/tumbleweed' }} uses: codecov/codecov-action@v3 + + test_python2: + name: 'unit tests - python 2' + runs-on: 'ubuntu-latest' + strategy: + fail-fast: false + matrix: + # Testing per python-version using actions/setup-python is not possible, + # because rpm doesn't exist on pypi and cannot be installed via pip on ubuntu. + # That's why we're going to test on the target distros directly. + container: + + - 'opensuse/leap:15.3' + + container: + image: ${{ matrix.container }} + + steps: + - name: 'Install packages (OpenSUSE)' + if: ${{ startsWith(matrix.container, 'opensuse/') }} + run: | + zypper --non-interactive --gpg-auto-import-keys refresh + zypper --non-interactive dist-upgrade + zypper --non-interactive install git-lfs + zypper --non-interactive install diffstat diffutils python python2-M2Crypto python2-pip python2-rpm python2-setuptools + + - uses: actions/checkout@v3 + + - name: 'Run unit tests' + run: | + mkdir -p /usr/local/lib/python2.7/site-packages/ + pip2 install -e . + python2 setup.py test diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.181.0/NEWS new/osc-0.182.0/NEWS --- old/osc-0.181.0/NEWS 2022-07-26 21:34:07.000000000 +0200 +++ new/osc-0.182.0/NEWS 2022-09-08 13:33:46.000000000 +0200 @@ -1,3 +1,9 @@ +0.182.0 + - fix build on SLE12 / python 2.7 + - SSH auth: Fix getallmatchingheaders() output to correspond with headers.get_all() + - send HTTP header Accept: application/xml + - git_version: return version from the source code if there's no matching tag + 0.181.0 - fix crash when 'pass' is not set in the config file - add missing attributes to Package when scm_url is set diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.181.0/osc/conf.py new/osc-0.182.0/osc/conf.py --- old/osc-0.181.0/osc/conf.py 2022-07-26 21:34:07.000000000 +0200 +++ new/osc-0.182.0/osc/conf.py 2022-09-08 13:33:46.000000000 +0200 @@ -537,7 +537,16 @@ def http_error_401(self, req, fp, code, msg, headers): self._rewind_request(req) authreqs = {} - for authreq in headers.get_all('www-authenticate', []): + if hasattr(headers, "get_all"): + all_headers = headers.get_all('www-authenticate', []) + else: + all_headers = [] + header_name = 'www-authenticate' + for header in headers.getallmatchingheaders(header_name): + header = header[len(header_name) + 1:].lstrip() + all_headers.append(header) + + for authreq in all_headers: scheme = authreq.split()[0].lower() authreqs[scheme] = authreq diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.181.0/osc/core.py new/osc-0.182.0/osc/core.py --- old/osc-0.181.0/osc/core.py 2022-07-26 21:34:07.000000000 +0200 +++ new/osc-0.182.0/osc/core.py 2022-09-08 13:33:46.000000000 +0200 @@ -7,7 +7,7 @@ from .util import git_version -__version__ = git_version.get_version('0.181.0') +__version__ = git_version.get_version('0.182.0') # __store_version__ is to be incremented when the format of the working copy @@ -3420,6 +3420,10 @@ req.get_method = lambda: method + # Rails sends a html response if the header is not set + # https://github.com/openSUSE/open-build-service/pull/13019 + req.add_header("Accept", "application/xml") + # POST requests are application/x-www-form-urlencoded per default # but sending data requires an octet-stream type if method == 'PUT' or (method == 'POST' and (data or file)): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.181.0/osc/credentials.py new/osc-0.182.0/osc/credentials.py --- old/osc-0.181.0/osc/credentials.py 2022-07-26 21:34:07.000000000 +0200 +++ new/osc-0.182.0/osc/credentials.py 2022-09-08 13:33:46.000000000 +0200 @@ -1,3 +1,5 @@ +from __future__ import print_function + import importlib import bz2 import base64 @@ -29,7 +31,6 @@ print(msg, e, file=sys.stderr) gnomekeyring = None -from . import conf from . import oscerr @@ -234,6 +235,7 @@ keyring_backend = keyring.core.load_keyring(self._backend_cls_name) except ModuleNotFoundError: msg = "Invalid credentials_mgr_class: {}".format(self._backend_cls_name) + from . import conf raise oscerr.ConfigError(msg, conf.config['conffile']) keyring.set_keyring(keyring_backend) @@ -420,6 +422,7 @@ creds_mgr = getattr(importlib.import_module(mod), cls).create(cp, options) except ModuleNotFoundError: msg = "Invalid credentials_mgr_class: {}".format(creds_mgr_cls) + from . import conf raise oscerr.ConfigError(msg, conf.config['conffile']) return creds_mgr diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.181.0/osc/util/git_version.py new/osc-0.182.0/osc/util/git_version.py --- old/osc-0.181.0/osc/util/git_version.py 2022-07-26 21:34:07.000000000 +0200 +++ new/osc-0.182.0/osc/util/git_version.py 2022-09-08 13:33:46.000000000 +0200 @@ -69,9 +69,13 @@ # remove the 'g' prefix from hash git_hash = git_hash[1:] - if version and git_tag != version: - msg = "Git tag '{}' doesn't correspond with version '{}' specified in the source code".format(git_tag, version) - raise ValueError(msg) + # removing "~" because it is not an allowed character in git tags + # and also because the normalized form is (for example) 1.0.0b0 + if version and git_tag != version.replace("~", ""): + # Git tag doesn't correspond with version specified in the source code. + # The most common reason is that forks do not have their tags in sync with upstream. + # In that case just return the version specified in the source code. + return version result = git_tag if git_hash: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-0.181.0/setup.py new/osc-0.182.0/setup.py --- old/osc-0.181.0/setup.py 2022-07-26 21:34:07.000000000 +0200 +++ new/osc-0.182.0/setup.py 2022-09-08 13:33:46.000000000 +0200 @@ -103,7 +103,7 @@ packages=['osc', 'osc.util'], scripts=['osc-wrapper.py'], data_files=data_files, - install_requires=['M2Crypto', 'chardet'], + install_requires=['M2Crypto'], classifiers=[ "Development Status :: 5 - Production/Stable", "Environment :: Console", @@ -129,5 +129,4 @@ ], # Override certain command classes with our own ones cmdclass=cmdclass, - test_suite="tests", ) ++++++ osc.dsc ++++++ --- /var/tmp/diff_new_pack.lFJE2b/_old 2022-09-20 19:24:06.698564901 +0200 +++ /var/tmp/diff_new_pack.lFJE2b/_new 2022-09-20 19:24:06.702564912 +0200 @@ -1,6 +1,6 @@ Format: 1.0 Source: osc -Version: 0.181.0-0 +Version: 0.182.0-0 Binary: osc Maintainer: Adrian Schroeter <adr...@suse.de> Architecture: any