Unversioned commands point to Python3 on Fedora| Obsolete Python2 version on Fedora

This commit is contained in:
sagitter 2019-07-23 20:45:34 +02:00
parent 9d6b8eb46b
commit 0a6fc3a472

View File

@ -1,11 +1,9 @@
# SCons 3.0.* does not run under (3.0.0) < Python3 < (3,5,0) or
# Python < (2,7,0).
# SCons 3.0.* does not run under (3.0.0) < Python3 < (3,5,0) or Python < (2,7,0).
# Epel7 provides Python3.6
# Fedora provides Python3.7
# Fedora provides Python3.7 (and will provide Python3.8)
%if 0%{?rhel} && 0%{?rhel} >= 8
%global with_python3 1
%global with_python2 0
%endif
%if 0%{?rhel} && 0%{?rhel} < 8
@ -13,19 +11,14 @@
%global with_python2 1
%endif
%if 0%{?fedora} && 0%{?fedora} < 30
%global with_python3 1
%global with_python2 1
%endif
%if 0%{?fedora} && 0%{?fedora} >= 30
%if 0%{?fedora}
%global with_python3 1
%global with_python2 1
%endif
Name: scons
Version: 3.0.5
Release: 1%{?dist}
Release: 2%{?dist}
Summary: An Open Source software construction tool
License: MIT
URL: http://www.scons.org
@ -61,8 +54,8 @@ Scons HTML documentation.
Summary: An Open Source software construction tool
BuildRequires: python2-devel
Provides: scons = %{version}-%{release}
%{?python_provide:%python_provide python2-%{name}}
Provides: scons-python2 = %{version}-%{release}
%description -n python2-%{name}
SCons is an Open Source software construction tool--that is, a build
@ -85,7 +78,12 @@ defined Builder and/or Scanner objects.
Summary: An Open Source software construction tool
BuildRequires: python%{python3_pkgversion}-devel
Provides: scons-python3 = %{version}-%{release}
Provides: scons = 0:%{version}-%{release}
Provides: scons-python3
Obsoletes: scons < 0:5.0.3-2
%if 0%{?rhel}
Obsoletes: python34-%{name}
%endif
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}}
%description -n python%{python3_pkgversion}-%{name}
@ -109,7 +107,7 @@ defined Builder and/or Scanner objects.
Summary: An Open Source software construction tool
BuildRequires: python%{python3_other_pkgversion}-devel
Provides: scons-python3 = %{version}-%{release}
Provides: scons-%{__python3_other} = %{version}-%{release}
%{?python_provide:%python_provide python%{python3_other_pkgversion}-%{name}}
%description -n python%{python3_other_pkgversion}-%{name}
@ -178,6 +176,58 @@ popd
%endif
%install
%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
#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
mv %{buildroot}%{_bindir}/%{name}-time %{buildroot}%{_bindir}/%{name}-time-2
pushd %{buildroot}%{_bindir}
for i in %{name}-2 %{name}-%{python2_version} %{name}-v%{version}-%{python2_version}; do
ln -fs %{_bindir}/%{name}-2 %{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-2 %{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-2 %{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-2 %{buildroot}%{_bindir}/$i
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 \
@ -188,7 +238,7 @@ pushd %{name}-%{version}-py3/build/scons
--install-data=%{_datadir}
popd
#Avoiding collisions between the python 2 and python 3 stacks
%if 0%{?rhel} && 0%{?rhel} == 7
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
@ -210,6 +260,24 @@ done
popd
%endif
%if 0%{?fedora} || 0%{?rhel} > 7
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%{?with_python3_other}
pushd %{name}-%{version}-py%{python3_other_pkgversion}/build/scons
%py3_other_install \
@ -221,50 +289,23 @@ pushd %{name}-%{version}-py%{python3_other_pkgversion}/build/scons
popd
#Avoiding collisions between the python 2 and python 3 stacks
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
mv %{buildroot}%{_bindir}/%{name}-time %{buildroot}%{_bindir}/%{name}-time-3
mv %{buildroot}%{_bindir}/%{name} %{buildroot}%{_bindir}/%{name}-%{__python3_other}
mv %{buildroot}%{_bindir}/%{name}-configure-cache %{buildroot}%{_bindir}/%{name}-configure-cache-%{__python3_other}
mv %{buildroot}%{_bindir}/%{name}ign %{buildroot}%{_bindir}/%{name}ign-%{__python3_other}
mv %{buildroot}%{_bindir}/%{name}-time %{buildroot}%{_bindir}/%{name}-time-%{__python3_other}
pushd %{buildroot}%{_bindir}
for i in %{name}-v%{version}-%{python3_other_pkgversion} %{name}-%{python3_other_pkgversion}; do
ln -fs %{_bindir}/%{name}-3 %{buildroot}%{_bindir}/$i
for i in %{name}-v%{version}-%{__python3_other} %{name}-%{__python3_other}; do
ln -fs %{_bindir}/%{name}-%{__python3_other} %{buildroot}%{_bindir}/$i
done
for i in %{name}ign-v%{version}-%{python3_version} %{name}ign-%{python3_other_pkgversion}; do
ln -fs %{_bindir}/%{name}ign-3 %{buildroot}%{_bindir}/$i
for i in %{name}ign-v%{version}-%{__python3_other} %{name}ign-%{__python3_other}; do
ln -fs %{_bindir}/%{name}ign-%{__python3_other} %{buildroot}%{_bindir}/$i
done
for i in %{name}-time-v%{version}-%{python3_other_pkgversion} %{name}-time-%{python3_other_pkgversion}; do
ln -fs %{_bindir}/%{name}-time-3 %{buildroot}%{_bindir}/$i
for i in %{name}-time-v%{version}-%{__python3_other} %{name}-time-%{__python3_other}; do
ln -fs %{_bindir}/%{name}-time-%{__python3_other} %{buildroot}%{_bindir}/$i
done
for i in %{name}-configure-cache-v%{version}-%{python3_other_pkgversion} %{name}-configure-cache-%{python3_other_pkgversion}; do
ln -fs %{_bindir}/%{name}-configure-cache-3 %{buildroot}%{_bindir}/$i
done
popd
%endif
%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
#Avoiding collisions between the python 2 and python 3 stacks
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
for i in %{name}-configure-cache-v%{version}-%{__python3_other} %{name}-configure-cache-%{__python3_other}; do
ln -fs %{_bindir}/%{name}-configure-cache-%{__python3_other} %{buildroot}%{_bindir}/$i
done
popd
%endif
@ -290,11 +331,15 @@ popd
%files -n python2-%{name}
%doc %{name}-%{version}/src/CHANGES.txt %{name}-%{version}/src/README.txt %{name}-%{version}/src/RELEASE.txt
%license %{name}-%{version}/src/LICENSE.txt
%if 0%{?fedora} || 0%{?rhel} > 7
%{_bindir}/%{name}*-2
%endif
%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/
%{python2_sitelib}/scons-%{version}*.egg-info
@ -305,7 +350,15 @@ popd
%files -n python%{python3_pkgversion}-%{name}
%doc %{name}-%{version}-py3/src/CHANGES.txt %{name}-%{version}-py3/src/README.txt %{name}-%{version}-py3/src/RELEASE.txt
%license %{name}-%{version}-py3/src/LICENSE.txt
%if 0%{?rhel} && 0%{?rhel} == 7
%{_bindir}/%{name}*-3
%endif
%if 0%{?fedora} || 0%{?rhel} > 7
%{_bindir}/%{name}
%{_bindir}/%{name}ign
%{_bindir}/%{name}-time
%{_bindir}/%{name}-configure-cache
%endif
%{_bindir}/%{name}*-%{python3_version}
%{python3_sitelib}/SCons/
%{python3_sitelib}/scons-%{version}*.egg-info
@ -316,7 +369,7 @@ popd
%files -n python%{python3_other_pkgversion}-%{name}
%doc %{name}-%{version}-py%{python3_other_pkgversion}/src/CHANGES.txt %{name}-%{version}-py%{python3_other_pkgversion}/src/README.txt %{name}-%{version}-py%{python3_other_pkgversion}/src/RELEASE.txt
%license %{name}-%{version}-py%{python3_other_pkgversion}/src/LICENSE.txt
%{_bindir}/%{name}*-3
%{_bindir}/%{name}*-%{__python3_other}
%{_bindir}/%{name}*-%{python3_other_pkgversion}
%{python3_other_sitelib}/SCons/
%{python3_other_sitelib}/scons-%{version}*.egg-info
@ -328,6 +381,10 @@ popd
%license %{name}-%{version}/src/LICENSE.txt
%changelog
* Tue Jul 23 2019 Antonio Trande <sagitterATfedoraproject.org> - 3.0.5-2
- Unversioned commands point to Python3 on Fedora
- Obsolete Python2 version on Fedora
* Wed Mar 27 2019 Antonio Trande <sagitter@fedoraproject.org> - 3.0.5-1
- Release 3.0.5