diff --git a/macros.python-srpm b/macros.python-srpm index 844dfeb..9b4aa2e 100644 --- a/macros.python-srpm +++ b/macros.python-srpm @@ -221,3 +221,14 @@ end end }} + +%version_no_operators() %{lua: + local ver = rpm.expand('%1') +\ + if ver == '%1' then + ver = rpm.expand('%version') + end + ver = ver:gsub('[~^]+', '') +\ + print(ver) +} \ No newline at end of file diff --git a/tests/test_evals.py b/tests/test_evals.py index 43216ca..41bb0a3 100644 --- a/tests/test_evals.py +++ b/tests/test_evals.py @@ -73,6 +73,16 @@ def test_pydist_name(argument, result): assert rpm_eval(f'%py_dist_name {argument}') == [result] +@pytest.mark.parametrize('argument, result', [ + ('7.5.0~~dev1', '7.5.0dev1'), + ('7.5.0~b4', '7.5.0b4'), + ('7.5.0', '7.5.0'), + ('7.5.0^post1', '7.5.0post1'), +]) +def test_version_no_operators(argument, result): + assert rpm_eval(f'%version_no_operators {argument}') == [result] + + def test_py2_dist(): assert rpm_eval(f'%py2_dist Aha[Boom] a') == ['python2dist(aha[boom]) python2dist(a)']