Sync from SUSE:ALP:Source:Standard:1.0 saltbundlepy-rpm-vercmp revision d3ad0b20f27aa93f815c4fd4e002fdb5
This commit is contained in:
commit
1e02ae2cfb
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
29
fix-circumflex-handling.patch
Normal file
29
fix-circumflex-handling.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
--- a/rpm_vercmp/vercmp.py 2016-02-23 19:09:14.000000000 +0300
|
||||||
|
+++ b/rpm_vercmp/vercmp.py 2021-10-22 16:49:28.675442381 +0300
|
||||||
|
@@ -20,7 +20,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
class Vercmp(object):
|
||||||
|
- R_NONALNUMTILDE = re.compile(br"^([^a-zA-Z0-9~]*)(.*)$")
|
||||||
|
+ R_NONALNUMTILDE = re.compile(br"^([^a-zA-Z0-9~^]*)(.*)$")
|
||||||
|
R_NUM = re.compile(br"^([\d]+)(.*)$")
|
||||||
|
R_ALPHA = re.compile(br"^([a-zA-Z]+)(.*)$")
|
||||||
|
|
||||||
|
@@ -46,6 +46,17 @@
|
||||||
|
if second.startswith(b'~'):
|
||||||
|
return 1
|
||||||
|
|
||||||
|
+ # handle the circumflex separator
|
||||||
|
+ if first.startswith(b'^'):
|
||||||
|
+ if second.startswith(b'^'):
|
||||||
|
+ first, second = first[1:], second[1:]
|
||||||
|
+ continue
|
||||||
|
+ first = first[1:]
|
||||||
|
+ return -1 if second else 1
|
||||||
|
+ if second.startswith(b'^'):
|
||||||
|
+ second = second[1:]
|
||||||
|
+ return 1 if first else -1
|
||||||
|
+
|
||||||
|
# If we ran to the end of either, we are finished with the loop
|
||||||
|
if not first or not second:
|
||||||
|
break
|
45
remove-pbr-dependency.patch
Normal file
45
remove-pbr-dependency.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
diff -urN a/rpm_vercmp.egg-info/pbr.json b/rpm_vercmp.egg-info/pbr.json
|
||||||
|
--- a/rpm_vercmp.egg-info/pbr.json 2018-10-30 17:29:00.000000000 +0300
|
||||||
|
+++ b/rpm_vercmp.egg-info/pbr.json 1970-01-01 03:00:00.000000000 +0300
|
||||||
|
@@ -1 +0,0 @@
|
||||||
|
-{"is_release": true, "git_version": "15c5c29"}
|
||||||
|
\ No newline at end of file
|
||||||
|
diff -urN a/rpm_vercmp.egg-info/SOURCES.txt b/rpm_vercmp.egg-info/SOURCES.txt
|
||||||
|
--- a/rpm_vercmp.egg-info/SOURCES.txt 2018-10-30 17:29:01.000000000 +0300
|
||||||
|
+++ b/rpm_vercmp.egg-info/SOURCES.txt 2021-12-16 15:52:25.138791261 +0300
|
||||||
|
@@ -14,7 +14,6 @@
|
||||||
|
rpm_vercmp.egg-info/SOURCES.txt
|
||||||
|
rpm_vercmp.egg-info/dependency_links.txt
|
||||||
|
rpm_vercmp.egg-info/not-zip-safe
|
||||||
|
-rpm_vercmp.egg-info/pbr.json
|
||||||
|
rpm_vercmp.egg-info/top_level.txt
|
||||||
|
rpm_vercmp/tests/__init__.py
|
||||||
|
rpm_vercmp/tests/vercmp_test.py
|
||||||
|
\ No newline at end of file
|
||||||
|
diff -urN a/setup.cfg b/setup.cfg
|
||||||
|
--- a/setup.cfg 2018-10-30 17:29:01.000000000 +0300
|
||||||
|
+++ b/setup.cfg 2021-12-16 15:52:25.138791261 +0300
|
||||||
|
@@ -23,11 +23,6 @@
|
||||||
|
[files]
|
||||||
|
packages = rpm_vercmp
|
||||||
|
|
||||||
|
-[pbr]
|
||||||
|
-autodoc_tree_index = true
|
||||||
|
-autodoc_index_modules = true
|
||||||
|
-autodoc_exclude_modules = rpm_vercmp.tests.*
|
||||||
|
-
|
||||||
|
[flake8]
|
||||||
|
ignore = E402
|
||||||
|
|
||||||
|
diff -urN a/setup.py b/setup.py
|
||||||
|
--- a/setup.py 2016-02-23 19:09:14.000000000 +0300
|
||||||
|
+++ b/setup.py 2021-12-16 16:00:39.867128372 +0300
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
from setuptools import setup
|
||||||
|
|
||||||
|
setup(
|
||||||
|
- setup_requires=["pbr"],
|
||||||
|
- pbr=True,
|
||||||
|
+ name="rpm_vercmp",
|
||||||
|
+ packages=["rpm_vercmp"],
|
||||||
|
)
|
BIN
rpm_vercmp-0.1.2.tar.gz
(Stored with Git LFS)
Normal file
BIN
rpm_vercmp-0.1.2.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
149
rpmvercmp.at
Normal file
149
rpmvercmp.at
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
# rpmvercmp.at: rpm version comparison tests
|
||||||
|
|
||||||
|
m4_define([RPMVERCMP],[
|
||||||
|
AT_SETUP([rpmvercmp($1, $2) = $3])
|
||||||
|
AT_KEYWORDS([vercmp])
|
||||||
|
AT_CHECK([
|
||||||
|
runroot rpm --eval '%{lua: print(rpm.vercmp("$1", "$2"))}'], [0], [$3
|
||||||
|
], [])
|
||||||
|
AT_CLEANUP
|
||||||
|
])
|
||||||
|
|
||||||
|
AT_BANNER([RPM version comparison])
|
||||||
|
|
||||||
|
RPMVERCMP(1.0, 1.0, 0)
|
||||||
|
RPMVERCMP(1.0, 2.0, -1)
|
||||||
|
RPMVERCMP(2.0, 1.0, 1)
|
||||||
|
|
||||||
|
RPMVERCMP(2.0.1, 2.0.1, 0)
|
||||||
|
RPMVERCMP(2.0, 2.0.1, -1)
|
||||||
|
RPMVERCMP(2.0.1, 2.0, 1)
|
||||||
|
|
||||||
|
RPMVERCMP(2.0.1a, 2.0.1a, 0)
|
||||||
|
RPMVERCMP(2.0.1a, 2.0.1, 1)
|
||||||
|
RPMVERCMP(2.0.1, 2.0.1a, -1)
|
||||||
|
|
||||||
|
RPMVERCMP(5.5p1, 5.5p1, 0)
|
||||||
|
RPMVERCMP(5.5p1, 5.5p2, -1)
|
||||||
|
RPMVERCMP(5.5p2, 5.5p1, 1)
|
||||||
|
|
||||||
|
RPMVERCMP(5.5p10, 5.5p10, 0)
|
||||||
|
RPMVERCMP(5.5p1, 5.5p10, -1)
|
||||||
|
RPMVERCMP(5.5p10, 5.5p1, 1)
|
||||||
|
|
||||||
|
RPMVERCMP(10xyz, 10.1xyz, -1)
|
||||||
|
RPMVERCMP(10.1xyz, 10xyz, 1)
|
||||||
|
|
||||||
|
RPMVERCMP(xyz10, xyz10, 0)
|
||||||
|
RPMVERCMP(xyz10, xyz10.1, -1)
|
||||||
|
RPMVERCMP(xyz10.1, xyz10, 1)
|
||||||
|
|
||||||
|
RPMVERCMP(xyz.4, xyz.4, 0)
|
||||||
|
RPMVERCMP(xyz.4, 8, -1)
|
||||||
|
RPMVERCMP(8, xyz.4, 1)
|
||||||
|
RPMVERCMP(xyz.4, 2, -1)
|
||||||
|
RPMVERCMP(2, xyz.4, 1)
|
||||||
|
|
||||||
|
RPMVERCMP(5.5p2, 5.6p1, -1)
|
||||||
|
RPMVERCMP(5.6p1, 5.5p2, 1)
|
||||||
|
|
||||||
|
RPMVERCMP(5.6p1, 6.5p1, -1)
|
||||||
|
RPMVERCMP(6.5p1, 5.6p1, 1)
|
||||||
|
|
||||||
|
RPMVERCMP(6.0.rc1, 6.0, 1)
|
||||||
|
RPMVERCMP(6.0, 6.0.rc1, -1)
|
||||||
|
|
||||||
|
RPMVERCMP(10b2, 10a1, 1)
|
||||||
|
RPMVERCMP(10a2, 10b2, -1)
|
||||||
|
|
||||||
|
RPMVERCMP(1.0aa, 1.0aa, 0)
|
||||||
|
RPMVERCMP(1.0a, 1.0aa, -1)
|
||||||
|
RPMVERCMP(1.0aa, 1.0a, 1)
|
||||||
|
|
||||||
|
RPMVERCMP(10.0001, 10.0001, 0)
|
||||||
|
RPMVERCMP(10.0001, 10.1, 0)
|
||||||
|
RPMVERCMP(10.1, 10.0001, 0)
|
||||||
|
RPMVERCMP(10.0001, 10.0039, -1)
|
||||||
|
RPMVERCMP(10.0039, 10.0001, 1)
|
||||||
|
|
||||||
|
RPMVERCMP(4.999.9, 5.0, -1)
|
||||||
|
RPMVERCMP(5.0, 4.999.9, 1)
|
||||||
|
|
||||||
|
RPMVERCMP(20101121, 20101121, 0)
|
||||||
|
RPMVERCMP(20101121, 20101122, -1)
|
||||||
|
RPMVERCMP(20101122, 20101121, 1)
|
||||||
|
|
||||||
|
RPMVERCMP(2_0, 2_0, 0)
|
||||||
|
RPMVERCMP(2.0, 2_0, 0)
|
||||||
|
RPMVERCMP(2_0, 2.0, 0)
|
||||||
|
|
||||||
|
dnl RhBug:178798 case
|
||||||
|
RPMVERCMP(a, a, 0)
|
||||||
|
RPMVERCMP(a+, a+, 0)
|
||||||
|
RPMVERCMP(a+, a_, 0)
|
||||||
|
RPMVERCMP(a_, a+, 0)
|
||||||
|
RPMVERCMP(+a, +a, 0)
|
||||||
|
RPMVERCMP(+a, _a, 0)
|
||||||
|
RPMVERCMP(_a, +a, 0)
|
||||||
|
RPMVERCMP(+_, +_, 0)
|
||||||
|
RPMVERCMP(_+, +_, 0)
|
||||||
|
RPMVERCMP(_+, _+, 0)
|
||||||
|
RPMVERCMP(+, _, 0)
|
||||||
|
RPMVERCMP(_, +, 0)
|
||||||
|
|
||||||
|
dnl Basic testcases for tilde sorting
|
||||||
|
RPMVERCMP(1.0~rc1, 1.0~rc1, 0)
|
||||||
|
RPMVERCMP(1.0~rc1, 1.0, -1)
|
||||||
|
RPMVERCMP(1.0, 1.0~rc1, 1)
|
||||||
|
RPMVERCMP(1.0~rc1, 1.0~rc2, -1)
|
||||||
|
RPMVERCMP(1.0~rc2, 1.0~rc1, 1)
|
||||||
|
RPMVERCMP(1.0~rc1~git123, 1.0~rc1~git123, 0)
|
||||||
|
RPMVERCMP(1.0~rc1~git123, 1.0~rc1, -1)
|
||||||
|
RPMVERCMP(1.0~rc1, 1.0~rc1~git123, 1)
|
||||||
|
|
||||||
|
dnl Basic testcases for caret sorting
|
||||||
|
RPMVERCMP(1.0^, 1.0^, 0)
|
||||||
|
RPMVERCMP(1.0^, 1.0, 1)
|
||||||
|
RPMVERCMP(1.0, 1.0^, -1)
|
||||||
|
RPMVERCMP(1.0^git1, 1.0^git1, 0)
|
||||||
|
RPMVERCMP(1.0^git1, 1.0, 1)
|
||||||
|
RPMVERCMP(1.0, 1.0^git1, -1)
|
||||||
|
RPMVERCMP(1.0^git1, 1.0^git2, -1)
|
||||||
|
RPMVERCMP(1.0^git2, 1.0^git1, 1)
|
||||||
|
RPMVERCMP(1.0^git1, 1.01, -1)
|
||||||
|
RPMVERCMP(1.01, 1.0^git1, 1)
|
||||||
|
RPMVERCMP(1.0^20160101, 1.0^20160101, 0)
|
||||||
|
RPMVERCMP(1.0^20160101, 1.0.1, -1)
|
||||||
|
RPMVERCMP(1.0.1, 1.0^20160101, 1)
|
||||||
|
RPMVERCMP(1.0^20160101^git1, 1.0^20160101^git1, 0)
|
||||||
|
RPMVERCMP(1.0^20160102, 1.0^20160101^git1, 1)
|
||||||
|
RPMVERCMP(1.0^20160101^git1, 1.0^20160102, -1)
|
||||||
|
|
||||||
|
dnl Basic testcases for tilde and caret sorting
|
||||||
|
RPMVERCMP(1.0~rc1^git1, 1.0~rc1^git1, 0)
|
||||||
|
RPMVERCMP(1.0~rc1^git1, 1.0~rc1, 1)
|
||||||
|
RPMVERCMP(1.0~rc1, 1.0~rc1^git1, -1)
|
||||||
|
RPMVERCMP(1.0^git1~pre, 1.0^git1~pre, 0)
|
||||||
|
RPMVERCMP(1.0^git1, 1.0^git1~pre, 1)
|
||||||
|
RPMVERCMP(1.0^git1~pre, 1.0^git1, -1)
|
||||||
|
|
||||||
|
dnl These are included here to document current, arguably buggy behaviors
|
||||||
|
dnl for reference purposes and for easy checking against unintended
|
||||||
|
dnl behavior changes.
|
||||||
|
dnl
|
||||||
|
dnl AT_BANNER([RPM version comparison oddities])
|
||||||
|
dnl RhBug:811992 case
|
||||||
|
dnl RPMVERCMP(1b.fc17, 1b.fc17, 0)
|
||||||
|
dnl RPMVERCMP(1b.fc17, 1.fc17, -1)
|
||||||
|
dnl RPMVERCMP(1.fc17, 1b.fc17, 1)
|
||||||
|
dnl RPMVERCMP(1g.fc17, 1g.fc17, 0)
|
||||||
|
dnl RPMVERCMP(1g.fc17, 1.fc17, 1)
|
||||||
|
dnl RPMVERCMP(1.fc17, 1g.fc17, -1)
|
||||||
|
|
||||||
|
dnl Non-ascii characters are considered equal so these are all the same, eh...
|
||||||
|
dnl RPMVERCMP(1.1.α, 1.1.α, 0)
|
||||||
|
dnl RPMVERCMP(1.1.α, 1.1.β, 0)
|
||||||
|
dnl RPMVERCMP(1.1.β, 1.1.α, 0)
|
||||||
|
dnl RPMVERCMP(1.1.αα, 1.1.α, 0)
|
||||||
|
dnl RPMVERCMP(1.1.α, 1.1.ββ, 0)
|
||||||
|
dnl RPMVERCMP(1.1.ββ, 1.1.αα, 0)
|
35
saltbundlepy-rpm-vercmp.changes
Normal file
35
saltbundlepy-rpm-vercmp.changes
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Apr 4 13:03:49 UTC 2022 - Victor Zhestkov <victor.zhestkov@suse.com>
|
||||||
|
|
||||||
|
- Strictly require Python 3.10 with saltbundlepy requrement
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Dec 16 13:02:08 UTC 2021 - Victor Zhestkov <victor.zhestkov@suse.com>
|
||||||
|
|
||||||
|
- Prevent building the package with no module inside
|
||||||
|
|
||||||
|
- Updated:
|
||||||
|
* remove-pbr-dependency.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 22 14:32:43 UTC 2021 - Victor Zhestkov <victor.zhestkov@suse.com>
|
||||||
|
|
||||||
|
- Run the tests fully offline
|
||||||
|
|
||||||
|
- Added:
|
||||||
|
* rpmvercmp.at
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 22 14:13:02 UTC 2021 - Victor Zhestkov <victor.zhestkov@suse.com>
|
||||||
|
|
||||||
|
- Implement circumflex (^) symbol handling for vercmp
|
||||||
|
- Remove pbr module dependency for building
|
||||||
|
|
||||||
|
- Added:
|
||||||
|
* fix-circumflex-handling.patch
|
||||||
|
* remove-pbr-dependency.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 22 13:16:16 UTC 2021 - Victor Zhestkov <victor.zhestkov@suse.com>
|
||||||
|
|
||||||
|
- Version 0.1.2: initial build
|
76
saltbundlepy-rpm-vercmp.spec
Normal file
76
saltbundlepy-rpm-vercmp.spec
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
#
|
||||||
|
# spec file for package saltbundlepy-rpm-vercmp
|
||||||
|
#
|
||||||
|
# Copyright (c) 2021 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
%{?!saltbundlepy_module:%define saltbundlepy_module() saltbundlepy-%{**}}
|
||||||
|
%define pythons saltbundlepy
|
||||||
|
|
||||||
|
# Disable python bytecompile for all distros
|
||||||
|
# It's called explicitly in the spec
|
||||||
|
%global __brp_python_bytecompile %{nil}
|
||||||
|
|
||||||
|
Name: saltbundlepy-rpm-vercmp
|
||||||
|
Version: 0.1.2
|
||||||
|
Release: 0
|
||||||
|
Summary: Pure Python implementation of rpmvercmp
|
||||||
|
License: Apache-2.0
|
||||||
|
Group: Development/Languages/Python
|
||||||
|
URL: https://github.com/sassoftware/python-rpm-vercmp
|
||||||
|
Source: https://files.pythonhosted.org/packages/source/r/rpm_vercmp/rpm_vercmp-%{version}.tar.gz
|
||||||
|
Source1: rpmvercmp.at
|
||||||
|
# PATCH-FIX_UPSTREAM https://github.com/sassoftware/python-rpm-vercmp/pull/3
|
||||||
|
Patch1: fix-circumflex-handling.patch
|
||||||
|
Patch2: remove-pbr-dependency.patch
|
||||||
|
BuildRequires: %{saltbundlepy_module base >= 3.10}
|
||||||
|
BuildRequires: %{saltbundlepy_module pytest}
|
||||||
|
BuildRequires: %{saltbundlepy_module requests}
|
||||||
|
BuildRequires: %{saltbundlepy_module setuptools}
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: saltbundlepy-rpm-macros
|
||||||
|
Requires: saltbundlepy-base
|
||||||
|
BuildArch: noarch
|
||||||
|
%python_subpackages
|
||||||
|
|
||||||
|
%description
|
||||||
|
The RPM Package Manager (http://rpm.org) has a version comparision algorithm,
|
||||||
|
implemented in its C library, which performs the comparison in a certain way.
|
||||||
|
|
||||||
|
In certain circumstances, where the C library is not installable (for example,
|
||||||
|
on non-rpm based systems), or does not support the desired version of the python interpreter,
|
||||||
|
the pure-python implementation may be useful.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -n rpm_vercmp-%{version}
|
||||||
|
%autopatch -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
%python_build
|
||||||
|
|
||||||
|
%install
|
||||||
|
%python_install
|
||||||
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||||
|
|
||||||
|
%check
|
||||||
|
cp %{S:1} rpm_vercmp/tests/
|
||||||
|
%pytest
|
||||||
|
|
||||||
|
%files %{python_files}
|
||||||
|
%license LICENSE
|
||||||
|
%doc ChangeLog README.rst
|
||||||
|
%{python_sitelib}/rpm_vercmp*
|
||||||
|
|
||||||
|
%changelog
|
Loading…
Reference in New Issue
Block a user