Preview: uwsgi-plugin-python3.rtupdate
Size: 2.01 KB
/usr/share/python3/runtime.d/uwsgi-plugin-python3.rtupdate
#!/bin/sh
set -e
if [ "$1" = rtupdate ]; then
# Transform new default Python runtime name from 'pythonX.Y' to 'pythonXY'.
NEW_RTNAME_DOTLESS="$(echo "$3" | tr -d .)"
# Versions of Python interpreter which was available at packaging moment
# (and for which appropriate python*_plugin.so was built).
KNOWN_FLAVORS_DOTLESS="python312"
DEFAULT_PLUGIN_ALTERNATIVE_PRIORITY=75
ALT_PLUGIN_ALTERNATIVE_PRIORITY=35
for maybe_new_defaultflavor_dotless in $KNOWN_FLAVORS_DOTLESS; do
# Check if pythonX.Y runtime (where pythonX.Y is a new default Python
# version) was available at packaging moment.
#
# If it wasn't available, there is no point in changing default alternative
# (as appropriate python*_plugin.so wasn't built and packaged).
if [ "$NEW_RTNAME_DOTLESS" = "$maybe_new_defaultflavor_dotless" ]
then
# Reset prorities of all packaged alternatives of python3_plugin.so
# to lower value.
for flavor_dotless in $KNOWN_FLAVORS_DOTLESS; do
update-alternatives --quiet \
--install \
/usr/lib/uwsgi/plugins/python3_plugin.so \
uwsgi-plugin-python3 \
"/usr/lib/uwsgi/plugins/${flavor_dotless}_plugin.so" \
$ALT_PLUGIN_ALTERNATIVE_PRIORITY \
--slave \
/usr/share/man/man1/uwsgi_python3.1.gz \
uwsgi_python3.1.gz \
"/usr/share/man/man1/uwsgi_${flavor_dotless}.1.gz"
done
# Set higher priority for pythonXY_plugin.so (where pythonX.Y is a
# new default Python version).
update-alternatives --quiet \
--install \
/usr/lib/uwsgi/plugins/python3_plugin.so \
uwsgi-plugin-python3 \
"/usr/lib/uwsgi/plugins/${NEW_RTNAME_DOTLESS}_plugin.so" \
$DEFAULT_PLUGIN_ALTERNATIVE_PRIORITY \
--slave \
/usr/share/man/man1/uwsgi_python3.1.gz \
uwsgi_python3.1.gz \
"/usr/share/man/man1/uwsgi_${NEW_RTNAME_DOTLESS}.1.gz"
break # for maybe_new_defaultflavor_dotless ...
fi
done
fi
Directory Contents
Dirs: 0 × Files: 4