diff --git a/.github/workflows/gh-actions-pr.yml b/.github/workflows/gh-actions-pr.yml index c5f6219..82d9efe 100644 --- a/.github/workflows/gh-actions-pr.yml +++ b/.github/workflows/gh-actions-pr.yml @@ -8,39 +8,30 @@ jobs: runs-on: ubuntu-latest strategy: - fail-fast: true + fail-fast: false matrix: FROM: - - 'ubuntu:mantic' + - 'ubuntu:noble' - 'ubuntu:jammy' - 'ubuntu:focal' - - 'ubuntu:bionic' + - 'linuxmintd/mint22-amd64' + - 'linuxmintd/mint21.3-amd64' + - 'linuxmintd/mint21.2-amd64' - 'linuxmintd/mint21.1-amd64' - 'linuxmintd/mint21-amd64' - 'linuxmintd/mint20-amd64' - 'debian:bookworm' - 'debian:bullseye' - #- 'debian:buster' # buster-backports is no longer available from deb.debian.org. Sunsetting? + - 'opensuse/leap:15.6' - 'opensuse/leap:15.5' - 'opensuse/leap:15.4' - 'opensuse/leap:15.3' - 'opensuse/leap:15.2' + #- 'fedora:41' - 'fedora:40' - 'fedora:39' - - 'fedora:38' - - 'fedora:37' - - 'fedora:36' - - 'fedora:35' - - 'fedora:34' - - 'rockylinux:9.3' - - 'rockylinux:9.2' - - 'rockylinux:9.1' - - 'rockylinux:9.0' - - 'rockylinux:8.9' - - 'rockylinux:8.8' - - 'rockylinux:8.7' - - 'rockylinux:8.6' - - 'rockylinux:8.5' + - 'rockylinux/rockylinux:9.4' + - 'rockylinux/rockylinux:8.10' - 'manjarolinux/base' #- 'funtoo/stage3-generic_64' diff --git a/.github/workflows/gh-actions-release.yml b/.github/workflows/gh-actions-release.yml index a03132a..8f95f04 100644 --- a/.github/workflows/gh-actions-release.yml +++ b/.github/workflows/gh-actions-release.yml @@ -18,36 +18,27 @@ jobs: fail-fast: false matrix: FROM: - - 'ubuntu:mantic' + - 'ubuntu:noble' - 'ubuntu:jammy' - 'ubuntu:focal' - - 'ubuntu:bionic' + - 'linuxmintd/mint22-amd64' + - 'linuxmintd/mint21.3-amd64' + - 'linuxmintd/mint21.2-amd64' - 'linuxmintd/mint21.1-amd64' - 'linuxmintd/mint21-amd64' - 'linuxmintd/mint20-amd64' - 'debian:bookworm' - 'debian:bullseye' - #- 'debian:buster' # buster-backports is no longer available from deb.debian.org. Sunsetting? + - 'opensuse/leap:15.6' - 'opensuse/leap:15.5' - 'opensuse/leap:15.4' - 'opensuse/leap:15.3' - 'opensuse/leap:15.2' + #- 'fedora:41' - 'fedora:40' - 'fedora:39' - - 'fedora:38' - - 'fedora:37' - - 'fedora:36' - - 'fedora:35' - - 'fedora:34' - - 'rockylinux:9.3' - - 'rockylinux:9.2' - - 'rockylinux:9.1' - - 'rockylinux:9.0' - - 'rockylinux:8.9' - - 'rockylinux:8.8' - - 'rockylinux:8.7' - - 'rockylinux:8.6' - - 'rockylinux:8.5' + - 'rockylinux/rockylinux:9.4' + - 'rockylinux/rockylinux:8.10' - 'manjarolinux/base' #- 'funtoo/stage3-generic_64' diff --git a/script/bootstrap b/script/bootstrap index acd98ca..77fda0e 100755 --- a/script/bootstrap +++ b/script/bootstrap @@ -9,7 +9,7 @@ # @param : just one parameter, either a 1 or a 0, to indicate whether or not to # UPDATE_ALL_SYSTEM_PACKAGES #==================================== -# Copyright (C) 2020-2024 Stephen G. Tuggy and other Vega Strike contributors +# Copyright (C) 2020-2024 Stephen G. Tuggy, Benjamen R. Meyer, and other Vega Strike contributors # # This file is part of Vega Strike. # @@ -29,7 +29,7 @@ set -e echo "------------------------------" -echo "--- bootstrap | 2024-04-24 ---" +echo "--- bootstrap | 2024-10-05 ---" echo "------------------------------" UPDATE_ALL_SYSTEM_PACKAGES="$1" @@ -124,16 +124,43 @@ function bootstrapOnDebian() lsb-release ;; "buster") + echo "Sorry, Debian buster is no longer supported" + ;; + "stretch") + echo "Sorry, Debian stretch is no longer supported" + exit 2 + ;; + *) + echo "Sorry, this version of Debian is unsupported" + exit 2 + ;; + esac +} + +function bootstrapOnUbuntu() +{ + apt-get update + + if [ "${UPDATE_ALL_SYSTEM_PACKAGES}" -eq 1 ] + then + apt-get -qy upgrade + fi + + case "$LINUX_CODENAME" in + "noble") apt-get -qy install \ git \ + cmake \ + python3-dev \ build-essential \ automake \ autoconf \ libpng16-16 \ libpng-dev \ libpng-tools \ - libjpeg62-turbo-dev \ + libjpeg-turbo8-dev \ libexpat1-dev \ + libgdk-pixbuf-2.0-dev \ libgtk-3-dev \ libopenal-dev \ libogg-dev \ @@ -142,6 +169,7 @@ function bootstrapOnDebian() libgl1-mesa-dev \ libsdl1.2-dev \ libsdl2-dev \ + libopengl0 \ libpostproc-dev \ freeglut3-dev \ libboost-python-dev \ @@ -151,33 +179,8 @@ function bootstrapOnDebian() libxmu-dev \ clang \ lsb-release - echo "deb http://deb.debian.org/debian buster-backports main contrib" >> /etc/apt/sources.list - echo "deb-src http://deb.debian.org/debian buster-backports main contrib" >> /etc/apt/sources.list - apt-get update - apt-get -qy install cmake -t buster-backports - ;; - "stretch") - echo "Sorry, Debian stretch is no longer supported" - exit 2 ;; - *) - echo "Sorry, this version of Debian is unsupported" - exit 2 - ;; - esac -} - -function bootstrapOnUbuntu() -{ - apt-get update - - if [ "${UPDATE_ALL_SYSTEM_PACKAGES}" -eq 1 ] - then - apt-get -qy upgrade - fi - - case "$LINUX_CODENAME" in - "mantic") + "jammy") apt-get -qy install \ git \ cmake \ @@ -210,20 +213,18 @@ function bootstrapOnUbuntu() clang \ lsb-release ;; - "lunar") + "focal") apt-get -qy install \ git \ cmake \ - python3-dev \ build-essential \ automake \ autoconf \ libpng16-16 \ libpng-dev \ libpng-tools \ - libjpeg-turbo8-dev \ + libjpeg62-dev \ libexpat1-dev \ - libgdk-pixbuf-2.0-dev \ libgtk-3-dev \ libopenal-dev \ libogg-dev \ @@ -243,6 +244,39 @@ function bootstrapOnUbuntu() clang \ lsb-release ;; + "bionic") + echo "Sorry, Ubuntu bionic is no longer supported" + exit 2 + ;; + "impish") + echo "Sorry, Ubuntu impish is no longer supported" + exit 2 + ;; + "hirsute") + echo "Sorry, Ubuntu hirsute is no longer supported" + exit 2 + ;; + "xenial") + echo "Sorry, Ubuntu xenial is no longer supported" + exit 2 + ;; + *) + echo "Sorry, this version of Ubuntu is unsupported" + exit 2 + ;; + esac +} + +function bootstrapOnPopOS () +{ + apt-get update + + if [ "${UPDATE_ALL_SYSTEM_PACKAGES}" -eq 1 ] + then + apt-get -qy upgrade + fi + + case "$LINUX_CODENAME" in "jammy") apt-get -qy install \ git \ @@ -276,7 +310,7 @@ function bootstrapOnUbuntu() clang \ lsb-release ;; - "groovy") + "noble") apt-get -qy install \ git \ cmake \ @@ -287,8 +321,9 @@ function bootstrapOnUbuntu() libpng16-16 \ libpng-dev \ libpng-tools \ - libjpeg62-dev \ + libjpeg-turbo8-dev \ libexpat1-dev \ + libgdk-pixbuf-2.0-dev \ libgtk-3-dev \ libopenal-dev \ libogg-dev \ @@ -308,25 +343,44 @@ function bootstrapOnUbuntu() clang \ lsb-release ;; - "focal") + *) + echo "Sorry, this version of Pop! OS is not currently supported" + exit 2 + ;; + esac +} + +function bootstrapOnLinuxMint () +{ + apt-get update + + if [ "${UPDATE_ALL_SYSTEM_PACKAGES}" -eq 1 ] + then + apt-get -qy upgrade + fi + + case "$LINUX_CODENAME" in + "wilma") apt-get -qy install \ git \ cmake \ + python3-dev \ build-essential \ automake \ autoconf \ libpng16-16 \ libpng-dev \ libpng-tools \ - libjpeg62-dev \ + libjpeg-turbo8-dev \ libexpat1-dev \ + libgdk-pixbuf-2.0-dev \ libgtk-3-dev \ libopenal-dev \ libogg-dev \ libvorbis-dev \ libglvnd-dev \ libgl1-mesa-dev \ - libsdl1.2-dev \ + libsdl1.2-compat-dev \ libsdl2-dev \ libopengl0 \ libpostproc-dev \ @@ -339,61 +393,40 @@ function bootstrapOnUbuntu() clang \ lsb-release ;; - "bionic") + "virginia") apt-get -qy install \ git \ + cmake \ + python3-dev \ build-essential \ + automake \ + autoconf \ + libpng16-16 \ + libpng-dev \ + libpng-tools \ + libjpeg-turbo8-dev \ + libexpat1-dev \ + libgdk-pixbuf-2.0-dev \ + libgtk-3-dev \ + libopenal-dev \ + libogg-dev \ + libvorbis-dev \ libglvnd-dev \ libgl1-mesa-dev \ + libsdl1.2-compat-dev \ + libsdl2-dev \ + libopengl0 \ + libpostproc-dev \ freeglut3-dev \ - libopenal-dev \ - libsdl-gfx1.2-dev \ - libsdl2-gfx-dev \ - libvorbis-dev \ - libjpeg-dev \ - libpng-dev \ - libgtk-3-dev \ libboost-python-dev \ libboost-log-dev \ libboost-regex-dev \ libboost-program-options-dev \ libxmu-dev \ clang \ - lsb-release \ - python3-pip - python3 -m pip install --upgrade-strategy eager --upgrade pip - python3 -m pip install --upgrade-strategy eager cmake - ;; - "impish") - echo "Sorry, Ubuntu impish is no longer supported" - exit 2 - ;; - "hirsute") - echo "Sorry, Ubuntu hirsute is no longer supported" - exit 2 - ;; - "xenial") - echo "Sorry, Ubuntu xenial is no longer supported" - exit 2 - ;; - *) - echo "Sorry, this version of Ubuntu is unsupported" - exit 2 + lsb-release ;; - esac -} - -function bootstrapOnPopOS () -{ - apt-get update - - if [ "${UPDATE_ALL_SYSTEM_PACKAGES}" -eq 1 ] - then - apt-get -qy upgrade - fi - - case "$LINUX_CODENAME" in - "jammy") + "victoria") apt-get -qy install \ git \ cmake \ @@ -413,7 +446,7 @@ function bootstrapOnPopOS () libvorbis-dev \ libglvnd-dev \ libgl1-mesa-dev \ - libsdl1.2-dev \ + libsdl1.2-compat-dev \ libsdl2-dev \ libopengl0 \ libpostproc-dev \ @@ -426,23 +459,6 @@ function bootstrapOnPopOS () clang \ lsb-release ;; - *) - echo "Sorry, this version of Pop! OS is not currently supported" - exit 2 - ;; - esac -} - -function bootstrapOnLinuxMint () -{ - apt-get update - - if [ "${UPDATE_ALL_SYSTEM_PACKAGES}" -eq 1 ] - then - apt-get -qy upgrade - fi - - case "$LINUX_CODENAME" in "vera") apt-get -qy install \ git \ @@ -682,6 +698,39 @@ function bootstrapOnOpenSuseLeap () rpm-build \ clang ;; + "15.6") + zypper --non-interactive install -y \ + libboost_log1_75_0-devel \ + libboost_python-py3-1_75_0-devel \ + libboost_system1_75_0-devel \ + libboost_filesystem1_75_0-devel \ + libboost_thread1_75_0-devel \ + libboost_regex1_75_0-devel \ + libboost_chrono1_75_0-devel \ + libboost_atomic1_75_0-devel \ + libboost_program_options1_75_0-devel \ + cmake \ + gcc-c++ \ + freeglut-devel \ + libopenal0 \ + openal-soft-devel \ + libSDL-1_2-0 \ + libSDL-devel \ + libSDL2-devel \ + libvorbis-devel \ + libglvnd-devel \ + libjpeg-turbo \ + libjpeg62-devel \ + libpng16-devel \ + expat \ + libexpat-devel \ + libgtk-3-0 \ + gtk3-devel \ + python3-devel \ + git \ + rpm-build \ + clang + ;; *) echo "Sorry, this version of openSUSE Leap is unsupported" exit 2 @@ -923,6 +972,27 @@ function bootstrapOnFedora () make \ clang ;; + 41) + dnf install -y \ + git \ + cmake \ + boost-devel \ + freeglut-devel \ + gcc-c++ \ + openal-soft-devel \ + sdl12-compat-devel \ + SDL2-devel \ + libvorbis-devel \ + libglvnd-devel \ + libjpeg-turbo-devel \ + libpng-devel \ + expat-devel \ + gtk3-devel \ + python3-devel \ + rpm-build \ + make \ + clang + ;; *) echo "Sorry, this version of Fedora is unsupported" exit 2 @@ -1241,6 +1311,31 @@ function bootstrapOnRedHat () make \ clang ;; + "8.10") + dnf -y install dnf-plugins-core + dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm + dnf config-manager --set-enabled PowerTools + dnf -y install \ + git \ + cmake \ + python3.11-devel \ + boost-devel \ + boost-python3-devel \ + freeglut-devel \ + gcc-c++ \ + openal-soft-devel \ + SDL-devel \ + SDL2-devel \ + libvorbis-devel \ + libglvnd-devel \ + libjpeg-turbo-devel \ + libpng-devel \ + expat-devel \ + gtk3-devel \ + rpm-build \ + make \ + clang + ;; "9.0") dnf -y install dnf-plugins-core dnf config-manager --set-enabled devel @@ -1341,6 +1436,56 @@ function bootstrapOnRedHat () make \ clang ;; + "9.4") + dnf -y install dnf-plugins-core + dnf config-manager --set-enabled devel + dnf -y update + dnf -y install \ + git \ + cmake \ + boost-devel \ + boost-python3-devel \ + freeglut-devel \ + gcc-c++ \ + openal-soft-devel \ + sdl12-compat-devel \ + SDL2-devel \ + libvorbis-devel \ + libglvnd-devel \ + libjpeg-turbo-devel \ + libpng-devel \ + expat-devel \ + gtk3-devel \ + python3-devel \ + rpm-build \ + make \ + clang + ;; + "9.5") + dnf -y install dnf-plugins-core + dnf config-manager --set-enabled devel + dnf -y update + dnf -y install \ + git \ + cmake \ + boost-devel \ + boost-python3-devel \ + freeglut-devel \ + gcc-c++ \ + openal-soft-devel \ + sdl12-compat-devel \ + SDL2-devel \ + libvorbis-devel \ + libglvnd-devel \ + libjpeg-turbo-devel \ + libpng-devel \ + expat-devel \ + gtk3-devel \ + python3-devel \ + rpm-build \ + make \ + clang + ;; *) echo "Sorry, this version of Red Hat is unsupported" exit 2 @@ -1576,7 +1721,6 @@ function bootstrapOnRockyLinux () dnf -y install \ git \ cmake \ - python3.11-devel \ boost-devel \ boost-python3-devel \ freeglut-devel \ @@ -1590,6 +1734,7 @@ function bootstrapOnRockyLinux () libpng-devel \ expat-devel \ gtk3-devel \ + python3-devel \ rpm-build \ make \ clang @@ -1603,7 +1748,6 @@ function bootstrapOnRockyLinux () dnf -y install \ git \ cmake \ - python3.11-devel \ boost-devel \ boost-python3-devel \ freeglut-devel \ @@ -1617,6 +1761,34 @@ function bootstrapOnRockyLinux () libpng-devel \ expat-devel \ gtk3-devel \ + python3-devel \ + rpm-build \ + make \ + clang + ;; + "8.10") + dnf -y install dnf-plugins-core + dnf -y install epel-release + dnf config-manager --enable epel + dnf config-manager --set-enabled powertools + dnf -y update + dnf -y install \ + git \ + cmake \ + boost-devel \ + boost-python3-devel \ + freeglut-devel \ + gcc-c++ \ + openal-soft-devel \ + SDL-devel \ + SDL2-devel \ + libvorbis-devel \ + libglvnd-devel \ + libjpeg-turbo-devel \ + libpng-devel \ + expat-devel \ + gtk3-devel \ + python3-devel \ rpm-build \ make \ clang @@ -1721,6 +1893,31 @@ function bootstrapOnRockyLinux () make \ clang ;; + "9.4") + dnf -y install dnf-plugins-core + dnf config-manager --set-enabled devel + dnf -y update + dnf -y install \ + git \ + cmake \ + boost-devel \ + boost-python3-devel \ + freeglut-devel \ + gcc-c++ \ + openal-soft-devel \ + sdl12-compat-devel \ + SDL2-devel \ + libvorbis-devel \ + libglvnd-devel \ + libjpeg-turbo-devel \ + libpng-devel \ + expat-devel \ + gtk3-devel \ + python3-devel \ + rpm-build \ + make \ + clang + ;; *) echo "Sorry, this version of Rocky Linux is unsupported" exit 2