forked from pool/obs-service-replace_using_package_version
- Update to version 1681202780.6d8bb3c:
* Run unit & install test only for the system python * Add python 3.11 tox environment * Switch to using rpm.labelCompare instead of parse_version * Fix copyright strings * Fix test_find_package_version * Bump mock from 4.0.3 to 5.0.1 * Bump pytest-xdist from 2.5.0 to 3.0.2 * Bump tox from 3.25.1 to 3.28.0 * Bump Gr1N/setup-poetry from 7 to 8 * Bump pytest-container from 0.0.2 to 0.1.1 * Bump actions/setup-python from 4.3.0 to 4.5.0 OBS-URL: https://build.opensuse.org/package/show/Virtualization:containers/obs-service-replace_using_package_version?expand=0&rev=18
This commit is contained in:
parent
51cc6c8f52
commit
9ea162b06e
@ -1,4 +1,4 @@
|
||||
<servicedata>
|
||||
<service name="tar_scm">
|
||||
<param name="url">https://github.com/openSUSE/obs-service-replace_using_package_version.git</param>
|
||||
<param name="changesrevision">6dcaef0f89b089ac6f83200ce25c0d907e45111a</param></service></servicedata>
|
||||
<param name="changesrevision">eb96e8582f54b9e2c5c5259e379ced1e79cd642d</param></service></servicedata>
|
@ -1,3 +1,19 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 11 10:19:11 UTC 2023 - containers@suse.com
|
||||
|
||||
- Update to version 1681202780.6d8bb3c:
|
||||
* Run unit & install test only for the system python
|
||||
* Add python 3.11 tox environment
|
||||
* Switch to using rpm.labelCompare instead of parse_version
|
||||
* Fix copyright strings
|
||||
* Fix test_find_package_version
|
||||
* Bump mock from 4.0.3 to 5.0.1
|
||||
* Bump pytest-xdist from 2.5.0 to 3.0.2
|
||||
* Bump tox from 3.25.1 to 3.28.0
|
||||
* Bump Gr1N/setup-poetry from 7 to 8
|
||||
* Bump pytest-container from 0.0.2 to 0.1.1
|
||||
* Bump actions/setup-python from 4.3.0 to 4.5.0
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 30 07:25:53 UTC 2023 - containers@suse.com
|
||||
|
||||
|
@ -30,7 +30,7 @@ Source1: %{service}.service
|
||||
Source2: LICENSE
|
||||
BuildRequires: sed
|
||||
Requires: python3-docopt
|
||||
Requires: python3-setuptools
|
||||
Requires: python3-rpm
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildArch: noarch
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Copyright (c) 2018 SUSE Linux GmbH. All rights reserved.
|
||||
# SPDX-FileCopyrightText: (c) 2023 SUSE LLC
|
||||
#
|
||||
# This file is part of obs-service-replace_using_package_version.
|
||||
#
|
||||
@ -49,7 +49,7 @@ import docopt
|
||||
import re
|
||||
import os
|
||||
import subprocess
|
||||
from pkg_resources import parse_version
|
||||
from rpm import labelCompare
|
||||
from typing import List
|
||||
|
||||
version_regex = {
|
||||
@ -185,7 +185,7 @@ def find_package_version_in_local_repos(repo_path, package):
|
||||
rpm_file = os.path.join(root, pkg)
|
||||
if get_pkg_name_from_rpm(rpm_file) == package:
|
||||
rpm_ver = get_pkg_version_from_rpm(rpm_file)
|
||||
if version is None or rpm_ver >= version:
|
||||
if version is None or labelCompare(rpm_ver, version) >= 0:
|
||||
version = rpm_ver
|
||||
return version
|
||||
|
||||
@ -195,7 +195,7 @@ def find_package_version_in_obsinfo(path, package):
|
||||
for f in os.listdir(path):
|
||||
if f.endswith('obsinfo') and package in f:
|
||||
obsinfo_ver = get_pkg_version_from_obsinfo(f)
|
||||
if version is None or obsinfo_ver >= version:
|
||||
if version is None or labelCompare(obsinfo_ver, version) >= 0:
|
||||
version = obsinfo_ver
|
||||
return version
|
||||
|
||||
@ -212,35 +212,35 @@ def run_command(command: List[str]) -> str:
|
||||
return subprocess.check_output(command).decode()
|
||||
|
||||
|
||||
def get_pkg_version_from_obsinfo(obsinfo_file):
|
||||
def get_pkg_version_from_obsinfo(obsinfo_file: str) -> Optional[str]:
|
||||
regex = re.compile(obsinfo_regex)
|
||||
with open(obsinfo_file) as f:
|
||||
for line in f:
|
||||
match = regex.match(line)
|
||||
if match:
|
||||
return parse_version(match[1])
|
||||
return match[1]
|
||||
return None
|
||||
|
||||
|
||||
def get_pkg_name_from_rpm(rpm_file):
|
||||
def get_pkg_name_from_rpm(rpm_file: str) -> str:
|
||||
command = [
|
||||
'rpm', '-qp', '--queryformat', '%{NAME}', rpm_file
|
||||
]
|
||||
return run_command(command)
|
||||
|
||||
|
||||
def get_pkg_version_from_rpm(rpm_file):
|
||||
def get_pkg_version_from_rpm(rpm_file: str) -> str:
|
||||
command = [
|
||||
'rpm', '-qp', '--queryformat', '%{VERSION}', rpm_file
|
||||
]
|
||||
return parse_version(run_command(command))
|
||||
return run_command(command)
|
||||
|
||||
|
||||
def get_pkg_version(package):
|
||||
def get_pkg_version(package: str) -> str:
|
||||
command = [
|
||||
'rpm', '-q', '--queryformat', '%{VERSION}', package
|
||||
]
|
||||
return parse_version(run_command(command))
|
||||
return run_command(command)
|
||||
|
||||
|
||||
def init(__name__):
|
||||
|
Loading…
x
Reference in New Issue
Block a user