From f9ec5b967a4f0f5902a173395abcd80ba7cedb2c Mon Sep 17 00:00:00 2001 From: wk333 <13474090681@163.com> Date: Wed, 18 Oct 2023 15:14:39 +0800 Subject: [PATCH] Update to 0.6.2 --- ...deprecated-imp-module-with-importlib.patch | 134 ++++++++++++++++++ ...oved-packaging.version.LegacyVersion.patch | 62 -------- obs-service-set_version-0.5.14.tar.gz | Bin 22555 -> 0 bytes obs-service-set_version-0.6.2.tar.gz | Bin 0 -> 22403 bytes obs-service-set_version.spec | 14 +- obs-service-set_version.yaml | 6 +- 6 files changed, 146 insertions(+), 70 deletions(-) create mode 100644 0001-Remove-usage-of-deprecated-imp-module-with-importlib.patch delete mode 100644 Handle-removed-packaging.version.LegacyVersion.patch delete mode 100644 obs-service-set_version-0.5.14.tar.gz create mode 100644 obs-service-set_version-0.6.2.tar.gz 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 0000000..2abd2cc --- /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 990866b..0000000 --- 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 GIT binary patch literal 0 HcmV?d00001 literal 22555 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 G-~j;D{`O=5 literal 0 HcmV?d00001 diff --git a/obs-service-set_version.spec b/obs-service-set_version.spec index 4ba6e2d..240f44c 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 911a397..6ff8bd9 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: "." -- Gitee