!8 Update to 0.6.2

From: @wk333 
Reviewed-by: @wang--ge 
Signed-off-by: @wang--ge
This commit is contained in:
openeuler-ci-bot 2023-10-19 01:11:05 +00:00 committed by Gitee
commit 140660a70a
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
6 changed files with 146 additions and 70 deletions

View File

@ -0,0 +1,134 @@
From f11e35645e68888284e0a05e43baf6c4b56ceb4b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dcermak@suse.com>
Date: Fri, 1 Sep 2023 11:56:09 +0200
Subject: [PATCH] Remove usage of deprecated imp module with importlib
---
tests/loader.py | 16 ++++++++++++++++
tests/test_base.py | 7 +++----
tests/test_package_type_detection.py | 6 ++----
tests/test_python_pip2rpm.py | 5 ++---
tests/test_rpmspec.py | 4 ++--
5 files changed, 25 insertions(+), 13 deletions(-)
create mode 100644 tests/loader.py
diff --git a/tests/loader.py b/tests/loader.py
new file mode 100644
index 0000000..1087b26
--- /dev/null
+++ b/tests/loader.py
@@ -0,0 +1,16 @@
+import importlib.machinery
+import importlib.util
+from pathlib import Path
+
+
+def import_set_version():
+ """Imports the set_version script as a python module and returns it."""
+ loader = importlib.machinery.SourceFileLoader(
+ 'set_version',
+ str(Path(__file__).parent.joinpath("..", "set_version"))
+ )
+ spec = importlib.util.spec_from_loader('set_version', loader)
+ sv = importlib.util.module_from_spec(spec)
+ loader.exec_module(sv)
+
+ return sv
diff --git a/tests/test_base.py b/tests/test_base.py
index c894bd4..0ebc1bd 100644
--- a/tests/test_base.py
+++ b/tests/test_base.py
@@ -15,7 +15,6 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,USA.
-import imp
import os
import re
import shutil
@@ -25,15 +24,15 @@
import tempfile
import unittest
-
from ddt import data, ddt, unpack
+from loader import import_set_version
+
DEBUG = False
if os.environ.get('DEBUG_SET_VERSION') == "1":
DEBUG = True
-# NOTE(toabctl): Hack to import non-module file for testing
-sv = imp.load_source("set_version", "set_version")
+sv = import_set_version()
SET_VERSION_EXECUTABLE = os.path.abspath(
diff --git a/tests/test_package_type_detection.py b/tests/test_package_type_detection.py
index 231792c..82b768b 100644
--- a/tests/test_package_type_detection.py
+++ b/tests/test_package_type_detection.py
@@ -15,15 +15,13 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,USA.
-import imp
-
from ddt import data, ddt, unpack
from test_base import SetVersionBaseTest
+from tests.loader import import_set_version
-# NOTE(toabctl): Hack to import non-module file for testing
-sv = imp.load_source("set_version", "set_version")
+sv = import_set_version()
@ddt
diff --git a/tests/test_python_pip2rpm.py b/tests/test_python_pip2rpm.py
index 270028a..db53ce8 100644
--- a/tests/test_python_pip2rpm.py
+++ b/tests/test_python_pip2rpm.py
@@ -15,7 +15,6 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,USA.
-import imp
import os
import subprocess
import unittest
@@ -25,10 +24,10 @@
from packaging.version import parse
from test_base import SetVersionBaseTest
+from tests.loader import import_set_version
-# NOTE(toabctl): Hack to import non-module file for testing
-sv = imp.load_source("set_version", "set_version")
+sv = import_set_version()
def _has_zypper():
diff --git a/tests/test_rpmspec.py b/tests/test_rpmspec.py
index 6c76307..7f1e3a1 100644
--- a/tests/test_rpmspec.py
+++ b/tests/test_rpmspec.py
@@ -16,13 +16,13 @@
import os
-import imp
import shutil
from ddt import data, ddt, file_data, unpack
from test_base import SetVersionBaseTest
+from tests.loader import import_set_version
-sv = imp.load_source("set_version", "set_version")
+sv = import_set_version()
@ddt

View File

@ -1,62 +0,0 @@
From d53cf4b7b29204f34c65a875860e61e04fae98ec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dirk=20M=C3=BCller?= <dirk@dmllr.de>
Date: Thu, 5 Jan 2023 09:46:40 +0100
Subject: [PATCH] handle removed packaging.version.LegacyVersion (Fixes #83)
sync from https://github.com/openSUSE/obs-service-set_version/commit/d53cf4b7b29204f34c65a875860e61e04fae98ec
This also makes it python 3.x specific, which should be fine
---
set_version | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/set_version b/set_version
index d2a6925..58882c9 100755
--- a/set_version
+++ b/set_version
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
# -*- coding: utf-8 -*-
# A simple script to update version number in spec, dsc or arch linux files
@@ -15,6 +15,7 @@
from __future__ import print_function
import argparse
+from contextlib import suppress
import glob
import os
import re
@@ -26,7 +27,7 @@ import codecs
import logging
try:
- from packaging.version import LegacyVersion, Version, parse
+ from packaging.version import Version, parse
except ImportError:
HAS_PACKAGING = False
import warnings
@@ -35,6 +36,9 @@ except ImportError:
else:
HAS_PACKAGING = True
+if HAS_PACKAGING:
+ with suppress(ImportError):
+ from packaging.version import LegacyVersion
if os.environ.get('DEBUG_SET_VERSION') == "1":
logging.getLogger().setLevel(logging.DEBUG)
@@ -351,8 +355,11 @@ def _version_python_pip2rpm(version_pip):
v_rpm = v_rpm.replace('rc', '~xrc')
v_rpm = v_rpm.replace('.dev', '~dev')
version_rpm = v_rpm
- elif isinstance(v, LegacyVersion):
- # TODO(toabctl): handle setuptools style legacy version
+ else:
+ with suppress(NameError):
+ if isinstance(v, LegacyVersion):
+ # TODO(toabctl): handle setuptools style legacy version
+ pass
pass
return version_rpm

Binary file not shown.

View File

@ -1,6 +1,6 @@
Name: obs-service-set_version
Version: 0.5.14
Release: 2
Version: 0.6.2
Release: 1
Summary: Set the version in spec
License: GPL-2.0-or-later
Group: Development/Tools/Building
@ -8,8 +8,9 @@ URL: https://github.com/openSUSE/obs-service-set_version
Source: https://github.com/openSUSE/obs-service-set_version/archive/%{version}/%{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
patch0: Handle-removed-packaging.version.LegacyVersion.patch
BuildRequires: python3-ddt python3-flake8 python3-packaging
# imp has been deprecated since python 3.3 and has been removed in python 3.12
Patch0: https://github.com/openSUSE/obs-service-set_version/pull/86.patch#./0001-Remove-usage-of-deprecated-imp-module-with-importlib.patch
BuildRequires: python3-ddt python3-packaging
Requires: python3
Recommends: python3-packaging
@ -23,7 +24,7 @@ and update version in spec files.
%build
%check
make test PYTHON=%{__python3}
%{__python3} -m unittest discover tests/
%install
mkdir -p %{buildroot}%{_prefix}/lib/obs/service
@ -36,6 +37,9 @@ install -m 0644 set_version.service %{buildroot}%{_prefix}/lib/obs/service
%{_prefix}/lib/obs/service
%changelog
* Wed Oct 18 2023 wangkai <13474090681@163.com> - 0.6.2-1
- Update to 0.6.2
* Fri May 12 2023 liyanan <thistleslyn@163.com> - 0.5.14-2
- Handle removed packaging.version.LegacyVersion

View File

@ -1,4 +1,4 @@
version-ctrl: github
version_control: github
src_repo: openSUSE/obs-service-set_version
tag_prefix: ^v
seperator: .
tag_prefix: ""
seperator: "."