PHP 8.5.2
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

Name Size Perms Modified Actions
121 B lrwxr-xr-x 2024-02-10 17:03:36
Edit Download
218 B lrwxr-xr-x 2025-11-12 12:15:44
Edit Download
648 B lrwxr-xr-x 2025-11-12 12:15:44
Edit Download
2.01 KB lrwxr-xr-x 2024-04-17 16:23:48
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).