diff --git a/epel-rpm-macros.spec b/epel-rpm-macros.spec index c7e0bca..bfa095b 100644 --- a/epel-rpm-macros.spec +++ b/epel-rpm-macros.spec @@ -1,6 +1,6 @@ Name: epel-rpm-macros Version: 7 -Release: 1 +Release: 2 Summary: Extra Packages for Enterprise Linux RPM macros Group: System Environment/Base @@ -44,6 +44,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Sat Aug 01 2015 Kevin Fenzi 7-2 +- Add python macros. Fixes bug #1241655 + * Wed Apr 29 2015 Kevin Fenzi 7-1 - Initial version for epel. diff --git a/macros.epel-rpm-macros b/macros.epel-rpm-macros index aac000f..2e3fdc3 100644 --- a/macros.epel-rpm-macros +++ b/macros.epel-rpm-macros @@ -8,3 +8,66 @@ # %python3_pkgversion 34 %python3_other_pkgversion 35 + +# +# Python macros, see: https://bugzilla.redhat.com/show_bug.cgi?id=1241655 +# +%py_setup setup.py +%py_shbang_opts -s + +%py_build() %{expand:\ +CFLAGS="%{optflags}" %{__python} %{py_setup} %{?py_setup_args} build --executable="%{__python2} %{py_shbang_opts}" %{?1}\ +} + +%py_install() %{expand:\ +CFLAGS="%{optflags}" %{__python} %{py_setup} %{?py_setup_args} install -O1 --skip-build --root %{buildroot} %{?1}\ +} + +%python_provide() %{lua:\ + function string.starts(String,Start)\ + return string.sub(String,1,string.len(Start))==Start\ + end\ + str = rpm.expand("%{?1:%{1}}");\ + vr = rpm.expand("%{version}-%{release}") + if (string.starts(str, "python2-")) then\ + print("Provides: python-");\ + print(string.sub(str,9,string.len(str)));\ + print(" = ");\ + print(vr);\ + elseif (string.starts(str, "python3-")) then\ + --No unversioned provides as python3 is not default\ + elseif (string.starts(str, "pypy-")) then\ + --No unversioned provides as pypy is not default\ + elseif (string.starts(str, "pypy3-")) then\ + --No unversioned provides as pypy is not default\ + elseif (string.starts(str, "python-")) then\ + --Providing the current default python\ + print("Provides: python2-");\ + print(string.sub(str,9,string.len(str)));\ + print(" = ");\ + print(vr);\ + else\ + print("ERROR: ");\ + print(str);\ + print("not recognized.");\ + end\ +} + +%py3_shbang_opts -s + +%py3_build() %{expand:\ +CFLAGS="%{optflags}" %{__python3} %{py_setup} %{?py_setup_args} build --executable="%{__python3} %{py3_shbang_opts}" %{?1}\ +} + +%py3_install() %{expand:\ +CFLAGS="%{optflags}" %{__python3} %{py_setup} %{?py_setup_args} install -O1 --skip-build --root %{buildroot} %{?1}\ +} + +%py2_shbang_opts -s + +%py2_build() %{expand:\ +CFLAGS="%{optflags}" %{__python2} %{py_setup} %{?py_setup_args} build --executable="%{__python2} %{py2_shbang_opts}" %{?1}\ +} + +%py2_install() %{expand:\ +CFLAGS="%{optflags}" %{__python2} %{py_setup} %{?py_setup_args} install -O1 --skip-build --root %{buildroot} %{?1}\