diff --git a/0001-Remove-usage-of-deprecated-imp-module-with-importlib.patch b/0001-Remove-usage-of-deprecated-imp-module-with-importlib.patch new file mode 100644 index 0000000000000000000000000000000000000000..2abd2ccec03832dc6616ae5c198c1d71ba00ca9d --- /dev/null +++ b/0001-Remove-usage-of-deprecated-imp-module-with-importlib.patch @@ -0,0 +1,134 @@ +From f11e35645e68888284e0a05e43baf6c4b56ceb4b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= +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 diff --git a/Handle-removed-packaging.version.LegacyVersion.patch b/Handle-removed-packaging.version.LegacyVersion.patch deleted file mode 100644 index 990866bc29e911f919c4d3a36ed3e23cf107af0c..0000000000000000000000000000000000000000 --- a/Handle-removed-packaging.version.LegacyVersion.patch +++ /dev/null @@ -1,62 +0,0 @@ -From d53cf4b7b29204f34c65a875860e61e04fae98ec Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Dirk=20M=C3=BCller?= -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 diff --git a/obs-service-set_version-0.5.14.tar.gz b/obs-service-set_version-0.5.14.tar.gz deleted file mode 100644 index fde05ba70cf831ac6cd9a481b17a7abab37f3b74..0000000000000000000000000000000000000000 Binary files a/obs-service-set_version-0.5.14.tar.gz and /dev/null differ diff --git a/obs-service-set_version-0.6.2.tar.gz b/obs-service-set_version-0.6.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..defb4260fd8bdaa7213bd521eed32f96ce7075e0 Binary files /dev/null and b/obs-service-set_version-0.6.2.tar.gz differ diff --git a/obs-service-set_version.spec b/obs-service-set_version.spec index 4ba6e2dd0b8eb402f0d0231824f5bab86d55f15b..240f44c3e05f17f1939fea3298d36f98a5aacd09 100644 --- a/obs-service-set_version.spec +++ b/obs-service-set_version.spec @@ -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 - 0.5.14-2 - Handle removed packaging.version.LegacyVersion diff --git a/obs-service-set_version.yaml b/obs-service-set_version.yaml index 911a3978746fbf2a50d4f93777f6ca10f38aefc1..6ff8bd912dc2de4ace8d4f5c553e76e64de4a8d6 100644 --- a/obs-service-set_version.yaml +++ b/obs-service-set_version.yaml @@ -1,4 +1,4 @@ -version-ctrl: github +version_control: github src_repo: openSUSE/obs-service-set_version -tag_prefix: ^v -seperator: . +tag_prefix: "" +seperator: "."