Fix builds on EPEL7

This commit is contained in:
sagitter 2019-07-24 14:39:11 +02:00
parent 0a6fc3a472
commit 468223c84a

View File

@ -6,7 +6,7 @@
%global with_python3 1
%endif
%if 0%{?rhel} && 0%{?rhel} < 8
%if 0%{?rhel} && 0%{?rhel} == 7
%global with_python3 1
%global with_python2 1
%endif
@ -18,7 +18,7 @@
Name: scons
Version: 3.0.5
Release: 2%{?dist}
Release: 3%{?dist}
Summary: An Open Source software construction tool
License: MIT
URL: http://www.scons.org
@ -55,7 +55,12 @@ Summary: An Open Source software construction tool
BuildRequires: python2-devel
%{?python_provide:%python_provide python2-%{name}}
Provides: scons-python2 = %{version}-%{release}
%if 0%{?rhel} && 0%{?rhel} == 7
Provides: scons = 0:%{version}-%{release}
%endif
%if 0%{?fedora} || 0%{?rhel} > 7
Provides: scons-python2 = 0:%{version}-%{release}
%endif
%description -n python2-%{name}
SCons is an Open Source software construction tool--that is, a build
@ -78,11 +83,14 @@ defined Builder and/or Scanner objects.
Summary: An Open Source software construction tool
BuildRequires: python%{python3_pkgversion}-devel
%if 0%{?fedora} || 0%{?rhel} > 7
Provides: scons = 0:%{version}-%{release}
Provides: scons-python3
Obsoletes: scons < 0:5.0.3-2
Obsoletes: scons < 0:5.0.3-3
%endif
%if 0%{?rhel}
Obsoletes: python34-%{name}
Provides: scons-python3 = 0:%{version}-%{release}
%endif
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}}
@ -176,7 +184,7 @@ popd
%endif
%install
%if 0%{?fedora} || 0%{?rhel} > 7
%if 0%{?with_python2}
pushd %{name}-%{version}/build/scons
%py2_install \
@ -187,8 +195,6 @@ pushd %{name}-%{version}/build/scons
--install-data=%{_datadir}
popd
#Avoiding collisions between the python 2 and python 3 stacks
%if 0%{?fedora} || 0%{?rhel} > 7
mv %{buildroot}%{_bindir}/%{name} %{buildroot}%{_bindir}/%{name}-2
mv %{buildroot}%{_bindir}/%{name}-configure-cache %{buildroot}%{_bindir}/%{name}-configure-cache-2
mv %{buildroot}%{_bindir}/%{name}ign %{buildroot}%{_bindir}/%{name}ign-2
@ -209,25 +215,6 @@ for i in %{name}-configure-cache-2 %{name}-configure-cache-%{python2_version} %{
done
popd
%endif
%if 0%{?rhel} && 0%{?rhel} == 7
pushd %{buildroot}%{_bindir}
for i in %{name}-2 %{name}-%{python2_version} %{name}-v%{version}-%{python2_version}; do
ln -fs %{_bindir}/%{name} %{buildroot}%{_bindir}/$i
done
for i in %{name}ign-2 %{name}ign-%{python2_version} %{name}ign-v%{version}-%{python2_version}; do
ln -fs %{_bindir}/%{name}ign %{buildroot}%{_bindir}/$i
done
for i in %{name}-time-2 %{name}-time-%{python2_version} %{name}-time-v%{version}-%{python2_version}; do
ln -fs %{_bindir}/%{name}-time %{buildroot}%{_bindir}/$i
done
for i in %{name}-configure-cache-2 %{name}-configure-cache-%{python2_version} %{name}-configure-cache-v%{version}-%{python2_version}; do
ln -fs %{_bindir}/%{name}-configure-cache %{buildroot}%{_bindir}/$i
done
popd
%endif
%endif
%if 0%{?with_python3}
pushd %{name}-%{version}-py3/build/scons
%py3_install \
@ -237,8 +224,33 @@ pushd %{name}-%{version}-py3/build/scons
--install-scripts=%{_bindir} \
--install-data=%{_datadir}
popd
pushd %{buildroot}%{_bindir}
for i in %{name}-v%{version}-%{python3_version} %{name}-%{python3_version}; do
ln -fs %{_bindir}/%{name} %{buildroot}%{_bindir}/$i
done
for i in %{name}ign-v%{version}-%{python3_version} %{name}ign-%{python3_version}; do
ln -fs %{_bindir}/%{name}ign %{buildroot}%{_bindir}/$i
done
for i in %{name}-time-v%{version}-%{python3_version} %{name}-time-%{python3_version}; do
ln -fs %{_bindir}/%{name}-time %{buildroot}%{_bindir}/$i
done
for i in %{name}-configure-cache-v%{version}-%{python3_version} %{name}-configure-cache-%{python3_version}; do
ln -fs %{_bindir}/%{name}-configure-cache %{buildroot}%{_bindir}/$i
done
popd
%endif
%endif
%if 0%{?rhel} && 0%{?rhel} == 7
%if 0%{?with_python3}
pushd %{name}-%{version}-py3/build/scons
%py3_install \
--standard-lib \
--no-install-bat \
--no-version-script \
--install-scripts=%{_bindir} \
--install-data=%{_datadir}
popd
mv %{buildroot}%{_bindir}/%{name} %{buildroot}%{_bindir}/%{name}-3
mv %{buildroot}%{_bindir}/%{name}-configure-cache %{buildroot}%{_bindir}/%{name}-configure-cache-3
mv %{buildroot}%{_bindir}/%{name}ign %{buildroot}%{_bindir}/%{name}ign-3
@ -259,19 +271,26 @@ for i in %{name}-configure-cache-v%{version}-%{python3_version} %{name}-configur
done
popd
%endif
%if 0%{?fedora} || 0%{?rhel} > 7
%if 0%{?with_python2}
pushd %{name}-%{version}/build/scons
%py2_install \
--standard-lib \
--no-install-bat \
--no-version-script \
--install-scripts=%{_bindir} \
--install-data=%{_datadir}
popd
pushd %{buildroot}%{_bindir}
for i in %{name}-v%{version}-%{python3_version} %{name}-%{python3_version}; do
for i in %{name}-2 %{name}-%{python2_version} %{name}-v%{version}-%{python2_version}; do
ln -fs %{_bindir}/%{name} %{buildroot}%{_bindir}/$i
done
for i in %{name}ign-v%{version}-%{python3_version} %{name}ign-%{python3_version}; do
for i in %{name}ign-2 %{name}ign-%{python2_version} %{name}ign-v%{version}-%{python2_version}; do
ln -fs %{_bindir}/%{name}ign %{buildroot}%{_bindir}/$i
done
for i in %{name}-time-v%{version}-%{python3_version} %{name}-time-%{python3_version}; do
for i in %{name}-time-2 %{name}-time-%{python2_version} %{name}-time-v%{version}-%{python2_version}; do
ln -fs %{_bindir}/%{name}-time %{buildroot}%{_bindir}/$i
done
for i in %{name}-configure-cache-v%{version}-%{python3_version} %{name}-configure-cache-%{python3_version}; do
for i in %{name}-configure-cache-2 %{name}-configure-cache-%{python2_version} %{name}-configure-cache-v%{version}-%{python2_version}; do
ln -fs %{_bindir}/%{name}-configure-cache %{buildroot}%{_bindir}/$i
done
popd
@ -334,11 +353,12 @@ popd
%if 0%{?fedora} || 0%{?rhel} > 7
%{_bindir}/%{name}*-2
%endif
%if 0%{?rhel} || 0%{?rhel} == 7
%if 0%{?rhel} && 0%{?rhel} == 7
%{_bindir}/%{name}
%{_bindir}/%{name}ign
%{_bindir}/%{name}-time
%{_bindir}/%{name}-configure-cache
%{_bindir}/%{name}*-2
%endif
%{_bindir}/%{name}*-%{python2_version}
%{python2_sitelib}/SCons/
@ -381,6 +401,9 @@ popd
%license %{name}-%{version}/src/LICENSE.txt
%changelog
* Wed Jul 24 2019 Antonio Trande <sagitterATfedoraproject.org> - 3.0.5-3
- Fix builds on EPEL7
* Tue Jul 23 2019 Antonio Trande <sagitterATfedoraproject.org> - 3.0.5-2
- Unversioned commands point to Python3 on Fedora
- Obsolete Python2 version on Fedora