Implemented alternatives the same way as they're in python36 module
RHEL-23019
This commit is contained in:
parent
a1f8563d56
commit
4498b8dfe1
106
python36.spec
106
python36.spec
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
Name: python36
|
Name: python36
|
||||||
Version: %{pybasever}.6
|
Version: %{pybasever}.6
|
||||||
Release: 13.buildroot%{?dist}
|
Release: 14.buildroot%{?dist}
|
||||||
Summary: Interpreter of the Python programming language
|
Summary: Interpreter of the Python programming language
|
||||||
|
|
||||||
License: Python
|
License: Python
|
||||||
@ -66,6 +66,11 @@ Obsoletes: python3 < 3.6.6-13
|
|||||||
|
|
||||||
Requires: %{_libexecdir}/platform-python
|
Requires: %{_libexecdir}/platform-python
|
||||||
|
|
||||||
|
# Require alternatives version that implements the --keep-foreign flag
|
||||||
|
Requires: alternatives >= 1.19.2-1
|
||||||
|
Requires(post): alternatives >= 1.19.2-1
|
||||||
|
Requires(postun): alternatives >= 1.19.2-1
|
||||||
|
|
||||||
%global _description \
|
%global _description \
|
||||||
Python is an accessible, high-level, dynamically typed, interpreted programming\
|
Python is an accessible, high-level, dynamically typed, interpreted programming\
|
||||||
language, designed with an emphasis on code readibility.\
|
language, designed with an emphasis on code readibility.\
|
||||||
@ -90,6 +95,12 @@ Summary: Libraries and header files needed for Python development
|
|||||||
Requires: python36
|
Requires: python36
|
||||||
Requires: platform-python-devel
|
Requires: platform-python-devel
|
||||||
|
|
||||||
|
# Require alternatives version that implements the --keep-foreign flag
|
||||||
|
Requires(postun): alternatives >= 1.19.2-1
|
||||||
|
# python36 installs the alternatives master symlink to which we attach a slave
|
||||||
|
Requires(post): python36
|
||||||
|
Requires(postun): python36
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
This package contains the header files and configuration needed to compile
|
This package contains the header files and configuration needed to compile
|
||||||
Python extension modules (typically written in C or C++), to embed Python
|
Python extension modules (typically written in C or C++), to embed Python
|
||||||
@ -108,6 +119,12 @@ Requires: python36
|
|||||||
Requires: python36-devel
|
Requires: python36-devel
|
||||||
Requires: platform-python-debug
|
Requires: platform-python-debug
|
||||||
|
|
||||||
|
# Require alternatives version that implements the --keep-foreign flag
|
||||||
|
Requires(postun): alternatives >= 1.19.2-1
|
||||||
|
# python36 installs the alternatives master symlink to which we attach a slave
|
||||||
|
Requires(post): python36
|
||||||
|
Requires(postun): python36
|
||||||
|
|
||||||
%description debug
|
%description debug
|
||||||
python3-debug provides a version of the Python runtime with numerous debugging
|
python3-debug provides a version of the Python runtime with numerous debugging
|
||||||
features enabled, aimed at advanced Python users such as developers of Python
|
features enabled, aimed at advanced Python users such as developers of Python
|
||||||
@ -140,13 +157,9 @@ mkdir -p %{buildroot}%{_bindir}
|
|||||||
|
|
||||||
# Symlink the executable to libexec
|
# Symlink the executable to libexec
|
||||||
ln -s %{_libexecdir}/platform-python%{pybasever} %{buildroot}%{_bindir}/python%{pybasever}
|
ln -s %{_libexecdir}/platform-python%{pybasever} %{buildroot}%{_bindir}/python%{pybasever}
|
||||||
# Additional symlink for buildroot
|
|
||||||
ln -s %{_bindir}/python%{pybasever} %{buildroot}%{_bindir}/python3
|
|
||||||
|
|
||||||
# Symlink the config executables
|
# Symlink the config executables
|
||||||
ln -s python%{LDVERSION_optimized}-config %{buildroot}%{_bindir}/python%{pybasever}-config
|
ln -s python%{LDVERSION_optimized}-config %{buildroot}%{_bindir}/python%{pybasever}-config
|
||||||
# Additional symlink for buildroot
|
|
||||||
ln -s %{_bindir}/python%{pybasever}-config %{buildroot}%{_bindir}/python3-config
|
|
||||||
|
|
||||||
# LDVERSION specific section
|
# LDVERSION specific section
|
||||||
InstallPython() {
|
InstallPython() {
|
||||||
@ -165,20 +178,85 @@ InstallPython %{LDVERSION_debug}
|
|||||||
# General debug symlinks
|
# General debug symlinks
|
||||||
ln -s python%{LDVERSION_debug}-config %{buildroot}%{_bindir}/python%{pybasever}-debug-config
|
ln -s python%{LDVERSION_debug}-config %{buildroot}%{_bindir}/python%{pybasever}-debug-config
|
||||||
ln -s python%{LDVERSION_debug} %{buildroot}%{_bindir}/python%{pybasever}-debug
|
ln -s python%{LDVERSION_debug} %{buildroot}%{_bindir}/python%{pybasever}-debug
|
||||||
# Additional symlinks for buildroot
|
|
||||||
ln -s %{_bindir}/python%{pybasever}-debug-config %{buildroot}%{_bindir}/python3-debug-config
|
|
||||||
ln -s %{_bindir}/python%{pybasever}-debug %{buildroot}%{_bindir}/python3-debug
|
|
||||||
%endif # with debug_build
|
%endif # with debug_build
|
||||||
|
|
||||||
InstallPython %{LDVERSION_optimized}
|
InstallPython %{LDVERSION_optimized}
|
||||||
|
|
||||||
|
# All ghost files controlled by alternatives need to exist for the files
|
||||||
|
# section check to succeed
|
||||||
|
# - Don't list /usr/bin/python as a ghost file so `yum install /usr/bin/python`
|
||||||
|
# doesn't install this package
|
||||||
|
touch %{buildroot}%{_bindir}/python3
|
||||||
|
touch %{buildroot}%{_bindir}/python3-config
|
||||||
|
touch %{buildroot}%{_bindir}/python3-debug
|
||||||
|
touch %{buildroot}%{_bindir}/python3-debug-config
|
||||||
|
|
||||||
|
%post
|
||||||
|
# Alternative for /usr/bin/python3 -> /usr/bin/python3.6
|
||||||
|
# Create only if it doesn't exist already
|
||||||
|
EXISTS=`alternatives --display python3 | \
|
||||||
|
grep -c "^/usr/bin/python3.6 - priority [0-9]*"`
|
||||||
|
|
||||||
|
if [ $EXISTS -eq 0 ]; then
|
||||||
|
alternatives --install %{_bindir}/python3 \
|
||||||
|
python3 \
|
||||||
|
%{_bindir}/python3.6 \
|
||||||
|
1000000
|
||||||
|
fi
|
||||||
|
|
||||||
|
%postun
|
||||||
|
# Do this only during uninstall process (not during update)
|
||||||
|
if [ $1 -eq 0 ]; then
|
||||||
|
alternatives --keep-foreign --remove python3 \
|
||||||
|
%{_bindir}/python3.6
|
||||||
|
|
||||||
|
# Remove link python → python3 if no other python3.* exists
|
||||||
|
if ! alternatives --display python3 > /dev/null; then
|
||||||
|
alternatives --keep-foreign --remove python \
|
||||||
|
%{_bindir}/python3
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
%post -n python36-devel
|
||||||
|
alternatives --add-slave python3 %{_bindir}/python3.6 \
|
||||||
|
%{_bindir}/python3-config \
|
||||||
|
python3-config \
|
||||||
|
%{_bindir}/python3.6-config
|
||||||
|
|
||||||
|
%postun -n python36-devel
|
||||||
|
# Do this only during uninstall process (not during update)
|
||||||
|
if [ $1 -eq 0 ]; then
|
||||||
|
alternatives --keep-foreign --remove-slave python3 %{_bindir}/python3.6 \
|
||||||
|
python3-config
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
%post -n python36-debug
|
||||||
|
alternatives --add-slave python3 %{_bindir}/python3.6 \
|
||||||
|
%{_bindir}/python3-debug \
|
||||||
|
python3-debug \
|
||||||
|
%{_bindir}/python3.6-debug
|
||||||
|
alternatives --add-slave python3 %{_bindir}/python3.6 \
|
||||||
|
%{_bindir}/python3-debug-config \
|
||||||
|
python3-debug-config \
|
||||||
|
%{_bindir}/python3.6-debug-config
|
||||||
|
|
||||||
|
%postun -n python36-debug
|
||||||
|
# Do this only during uninstall process (not during update)
|
||||||
|
if [ $1 -eq 0 ]; then
|
||||||
|
alternatives --keep-foreign --remove-slave python3 %{_bindir}/python3.6 \
|
||||||
|
python3-debug
|
||||||
|
alternatives --keep-foreign --remove-slave python3 %{_bindir}/python3.6 \
|
||||||
|
python3-debug-config
|
||||||
|
fi
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
%doc README.rst
|
%doc README.rst
|
||||||
%{_bindir}/python%{pybasever}
|
%{_bindir}/python%{pybasever}
|
||||||
%{_bindir}/python%{LDVERSION_optimized}
|
%{_bindir}/python%{LDVERSION_optimized}
|
||||||
%{_bindir}/python3
|
%ghost %{_bindir}/python3
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
@ -186,7 +264,7 @@ InstallPython %{LDVERSION_optimized}
|
|||||||
%{_bindir}/python%{pybasever}-config
|
%{_bindir}/python%{pybasever}-config
|
||||||
%{_bindir}/python%{LDVERSION_optimized}-config
|
%{_bindir}/python%{LDVERSION_optimized}-config
|
||||||
%{_bindir}/python%{LDVERSION_optimized}-*-config
|
%{_bindir}/python%{LDVERSION_optimized}-*-config
|
||||||
%{_bindir}/python3-config
|
%ghost %{_bindir}/python3-config
|
||||||
|
|
||||||
%files debug
|
%files debug
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
@ -196,13 +274,17 @@ InstallPython %{LDVERSION_optimized}
|
|||||||
%{_bindir}/python%{LDVERSION_debug}-*-config
|
%{_bindir}/python%{LDVERSION_debug}-*-config
|
||||||
%{_bindir}/python%{pybasever}-debug-config
|
%{_bindir}/python%{pybasever}-debug-config
|
||||||
%{_bindir}/python%{pybasever}-debug
|
%{_bindir}/python%{pybasever}-debug
|
||||||
%{_bindir}/python3-debug
|
%ghost %{_bindir}/python3-debug
|
||||||
%{_bindir}/python3-debug-config
|
%ghost %{_bindir}/python3-debug-config
|
||||||
|
|
||||||
|
|
||||||
# IMPORTANT #
|
# IMPORTANT #
|
||||||
# See note at the top of the spec file #
|
# See note at the top of the spec file #
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jan 29 2024 Lumír Balhar <lbalhar@redhat.com> - 3.6.6-14.buildroot
|
||||||
|
- Implemented alternatives the same way as they're in python36 module
|
||||||
|
Resolves: RHEL-23019
|
||||||
|
|
||||||
* Sat Sep 29 2018 Tomas Orsava <torsava@redhat.com> - 3.6.6-13.buildroot
|
* Sat Sep 29 2018 Tomas Orsava <torsava@redhat.com> - 3.6.6-13.buildroot
|
||||||
- Merged `stream-3.6` branch into the `rhel-8.0` branch for the buildroot
|
- Merged `stream-3.6` branch into the `rhel-8.0` branch for the buildroot
|
||||||
- Differences:
|
- Differences:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user