diff --git a/generic-rpm-config.spec b/generic-rpm-config.spec index b6ec26422d7ec584be0f02ccb61a3fb0296a924c..db433554c4461d4808aa12843e32e386845724df 100644 --- a/generic-rpm-config.spec +++ b/generic-rpm-config.spec @@ -2,7 +2,7 @@ Name: %{vendor}-rpm-config Version: 30 -Release: 8 +Release: 9 License: GPL+ Summary: specific rpm configuration files URL: https://gitee.com/src-openeuler/openEuler-rpm-config @@ -104,6 +104,12 @@ mkdir -p %{buildroot}%{_fileattrsdir} %{_rpmconfigdir}/macros.d/* %changelog +* Tue Feb 11 2020 openEuler Buildteam - 30-9 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC:modify python_provide macro from python2 to python3 + * Sun Jan 19 2020 openEuler Buildteam - 30-8 - Type:enhancement - ID:NA diff --git a/macros.python b/macros.python index ff0af95ef8e26083f89d7054f7ab594bdc0e549e..cadd31b76d0fdfb88593d712bf4e2bc7396eb03f 100644 --- a/macros.python +++ b/macros.python @@ -61,33 +61,30 @@ find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $pyth package = rpm.expand("%{?1}") vr = rpm.expand("%{?epoch:%{epoch}:}%{version}-%{release}") if (string.starts(package, "python2-")) then - if (rpm.expand("%{?buildarch}") ~= "noarch") then - str = "Provides: python-" .. string.sub(package,9,string.len(package)) .. "%{?_isa} = " .. vr - print(rpm.expand(str)) - end + --No unversioned provides as python2 is not default + elseif (string.starts(package, "python" .. rpm.expand("%{python3_pkgversion}") .. "-")) then print("\\nProvides: python-") - print(string.sub(package,9,string.len(package))) + l = 8 + string.len(rpm.expand("%{python3_pkgversion}")) + print(string.sub(package,l,string.len(package))) print(" = ") print(vr) - --Obsoleting the previous default python package - print("\\nObsoletes: python-") - print(string.sub(package,9,string.len(package))) - print(" < ") - print(vr) - elseif (string.starts(package, "python" .. rpm.expand("%{python3_pkgversion}") .. "-")) then - --No unversioned provides as python3 is not default + --Obsoleting the previous default python package (if it doesn't have isa) + if (string.sub(package, "-1") ~= ")") then + print("\\nObsoletes: python-") + print(string.sub(package,l,string.len(package))) + print(" < ") + print(vr) + end elseif (rpm.expand("%{?python3_other_pkgversion}") ~= "" and string.starts(package, "python" .. rpm.expand("%{python3_other_pkgversion}") .. "-")) then --No unversioned provides as python3_other is not default elseif (string.starts(package, "pypy-")) then --No unversioned provides as pypy is not default + elseif (string.starts(package, "pypy2-")) then + --No unversioned provides as pypy is not default elseif (string.starts(package, "pypy3-")) then --No unversioned provides as pypy is not default elseif (string.starts(package, "python-")) then - --Providing the current default python - print("Provides: python2-") - print(string.sub(package,8,string.len(package))) - print(" = ") - print(vr) + --No unversioned provides needed for unversioned python else print("%python_provide: ERROR: ") print(package)