mirror of
https://github.com/iiab/iiab.git
synced 2025-02-12 19:22:24 +00:00
101 lines
4.2 KiB
Bash
Executable file
101 lines
4.2 KiB
Bash
Executable file
#!/bin/bash
|
|
# https://packages.debian.org/search?keywords=libpython2.7-stdlib&searchon=names&suite=all§ion=all
|
|
# https://packages.debian.org/bullseye/libpython2.7-stdlib
|
|
# https://packages.ubuntu.com/search?keywords=libpython2.7-stdlib&searchon=names&suite=all§ion=all
|
|
# https://packages.ubuntu.com/jammy-updates/libpython2.7-stdlib
|
|
|
|
# payload to be installed:
|
|
# libpython2-stdlib
|
|
# libpython2.7-minimal
|
|
# libpython2.7-stdlib
|
|
# python2-minimal
|
|
# python2.7-minimal
|
|
# python2.7
|
|
# python2
|
|
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
ARCH=$(dpkg --print-architecture)
|
|
|
|
# 2023-05-19: #3573 -> PR #3582: Ubuntu 23.10's virtualenv 20.23 no longer
|
|
# supports Python 2. Root cause is virtualenv 20.22.0 (2023-04-19) which
|
|
# removed Python 2 support: https://virtualenv.pypa.io/en/latest/changelog.html
|
|
# Unfortunately older versions from Ubuntu 22.04 (#3583) & 23.04 like...
|
|
# http://launchpadlibrarian.net/651276954/virtualenv_20.19.0+ds-1_all.deb
|
|
# ...can drag in newer 20.23+ version of python3-virtualenv, leaving
|
|
# us with /usr/bin/virtualenv 20.23 once again, i.e. preventing Python 2.
|
|
# Whereas pip (which installs /usr/local/bin/virtualvenv) at least works:
|
|
#
|
|
#iif grep -qi ubuntu /etc/os-release; then # Ubuntu 23.10+ (and Mint 22+ ?) needs this. Ubuntu 23.04 tolerates it.
|
|
# apt -y install python3-pip
|
|
# pip install virtualenv==20.21.1 --break-system-packages
|
|
#else
|
|
# apt -y install virtualenv # Debian 12 & RasPiOS 12 are A-Ok with built-in virtualenv 20.17.1 (<= 20.21.1)
|
|
#fi
|
|
#
|
|
#apt -y install virtualenv
|
|
# https://github.com/iiab/iiab/pull/3535#issuecomment-1503626474
|
|
#apt -y install media-types libffi8 libssl3
|
|
|
|
# libpython2.7-stdlib from ubuntu-22.04 used in amd64|arm64|armhf is compiled against libssl3 and libffi8
|
|
# `apt info libpython2.7-stdlib`
|
|
#cd /tmp
|
|
|
|
case $ARCH in
|
|
"amd64")
|
|
# works on U23.04 x86_64 VM
|
|
cat << EOF > /etc/apt/sources.list.d/python2.list
|
|
deb [trusted=yes] http://archive.ubuntu.com/ubuntu jammy main universe
|
|
deb [trusted=yes] http://archive.ubuntu.com/ubuntu jammy-updates main universe
|
|
EOF
|
|
;;
|
|
|
|
"arm64")
|
|
# gave 404 errors on U23.04 x86_64 VM need to circle back to U23.04 arm64 and confirm
|
|
cat << EOF > /etc/apt/sources.list.d/python2.list
|
|
deb [trusted=yes] http://ports.ubuntu.com/ jammy main universe
|
|
deb [trusted=yes] http://ports.ubuntu.com/ jammy-updates main universe
|
|
EOF
|
|
;;
|
|
|
|
"armhf")
|
|
# armhf compile flags differ between RasPiOS and Ubuntu
|
|
if [ -f /etc/rpi-issue ] && ! grep -q 11 /etc/issue; then # RasPiOS 12+ / Bookworm+
|
|
cat << EOF > /etc/apt/sources.list.d/python2.list
|
|
deb [trusted=yes] http://ports.ubuntu.com/ jammy main universe
|
|
deb [trusted=yes] http://ports.ubuntu.com/ jammy-updates main universe
|
|
EOF
|
|
# elif ! [ -f /etc/rpi-issue ]; then # Ubuntu/Debian on armhf not supported
|
|
# cat << EOF > /etc/apt/sources.list.d/python2.list
|
|
# deb http://ports.ubuntu.com/ jammy main universe
|
|
# deb http://ports.ubuntu.com/ jammy-updates main universe
|
|
# EOF
|
|
fi
|
|
;;
|
|
|
|
"i386")
|
|
# Building on scripts/ansible fix PR #3615
|
|
if grep -q '^ID=debian$' /etc/os-release; then
|
|
cat << EOF > /etc/apt/sources.list.d/python2.list
|
|
deb http://deb.debian.org/debian bullseye main contrib non-free
|
|
deb http://deb.debian.org/debian bullseye-updates main contrib non-free
|
|
EOF
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
apt update
|
|
if grep -qi ubuntu /etc/os-release; then # Ubuntu 23.10+ (and Mint 22+ ?) needs this. Ubuntu 23.04 tolerates it.
|
|
# 2023-05-20: 4 lines below borrow from Ubuntu 22.04: (Is this really less
|
|
# fragile than the pip approach ~40 lines above, in preparing for 24.04 ?)
|
|
apt -y install python3-platformdirs=2.5.1-1
|
|
apt-mark hold python3-platformdirs
|
|
apt -y install python3-virtualenv=20.13.0+ds-2
|
|
apt-mark hold python3-virtualenv # 2023-09-26: 'apt-mark hold virtualenv' was definitely insufficient on Ubuntu 23.10
|
|
# 2023-05-21 PR #3587: Above 4 lines should really install a more recent
|
|
# version of virtualenv, probably from 'lunar' (Ubuntu 23.04) ?
|
|
else
|
|
apt -y install virtualenv # Debian 12 & RasPiOS 12 are A-Ok with built-in virtualenv 20.17.1 (<= 20.21.1)
|
|
fi
|
|
apt -y install python2
|
|
rm /etc/apt/sources.list.d/python2.list || true
|
|
apt update
|