mirror of
https://github.com/actions/runner-images.git
synced 2025-12-20 06:35:47 +00:00
add ubuntu 20.04
This commit is contained in:
154
images/linux/scripts/installers/2004/android.sh
Normal file
154
images/linux/scripts/installers/2004/android.sh
Normal file
@@ -0,0 +1,154 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: android.sh
|
||||
## Desc: Installs Android SDK
|
||||
################################################################################
|
||||
|
||||
set -e
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/apt.sh
|
||||
|
||||
# Set env variable for SDK Root (https://developer.android.com/studio/command-line/variables)
|
||||
ANDROID_ROOT=/usr/local/lib/android
|
||||
ANDROID_SDK_ROOT=${ANDROID_ROOT}/sdk
|
||||
echo "ANDROID_SDK_ROOT=${ANDROID_SDK_ROOT}" | tee -a /etc/environment
|
||||
|
||||
# ANDROID_HOME is deprecated, but older versions of Gradle rely on it
|
||||
echo "ANDROID_HOME=${ANDROID_SDK_ROOT}" | tee -a /etc/environment
|
||||
|
||||
# Create android sdk directory
|
||||
mkdir -p ${ANDROID_SDK_ROOT}
|
||||
|
||||
# Download the latest command line tools so that we can accept all of the licenses.
|
||||
# See https://developer.android.com/studio/#command-tools
|
||||
wget -O android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
|
||||
unzip android-sdk.zip -d ${ANDROID_SDK_ROOT}
|
||||
rm -f android-sdk.zip
|
||||
|
||||
# Add required permissions
|
||||
chmod -R a+X ${ANDROID_SDK_ROOT}
|
||||
|
||||
# Check sdk manager installation
|
||||
/usr/local/lib/android/sdk/tools/bin/sdkmanager --list 1>/dev/null
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
echo "Android SDK manager was installed"
|
||||
else
|
||||
echo "Android SDK manager was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Install the following SDKs and build tools, passing in "y" to accept licenses.
|
||||
echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \
|
||||
"ndk-bundle" \
|
||||
"platform-tools" \
|
||||
"platforms;android-29" \
|
||||
"platforms;android-28" \
|
||||
"platforms;android-27" \
|
||||
"platforms;android-26" \
|
||||
"platforms;android-25" \
|
||||
"platforms;android-24" \
|
||||
"platforms;android-23" \
|
||||
"platforms;android-22" \
|
||||
"platforms;android-21" \
|
||||
"platforms;android-19" \
|
||||
"platforms;android-17" \
|
||||
"build-tools;29.0.3" \
|
||||
"build-tools;29.0.2" \
|
||||
"build-tools;29.0.0" \
|
||||
"build-tools;28.0.3" \
|
||||
"build-tools;28.0.2" \
|
||||
"build-tools;28.0.1" \
|
||||
"build-tools;28.0.0" \
|
||||
"build-tools;27.0.3" \
|
||||
"build-tools;27.0.2" \
|
||||
"build-tools;27.0.1" \
|
||||
"build-tools;27.0.0" \
|
||||
"build-tools;26.0.3" \
|
||||
"build-tools;26.0.2" \
|
||||
"build-tools;26.0.1" \
|
||||
"build-tools;26.0.0" \
|
||||
"build-tools;25.0.3" \
|
||||
"build-tools;25.0.2" \
|
||||
"build-tools;25.0.1" \
|
||||
"build-tools;25.0.0" \
|
||||
"build-tools;24.0.3" \
|
||||
"build-tools;24.0.2" \
|
||||
"build-tools;24.0.1" \
|
||||
"build-tools;24.0.0" \
|
||||
"build-tools;23.0.3" \
|
||||
"build-tools;23.0.2" \
|
||||
"build-tools;23.0.1" \
|
||||
"build-tools;22.0.1" \
|
||||
"build-tools;21.1.2" \
|
||||
"build-tools;20.0.0" \
|
||||
"build-tools;19.1.0" \
|
||||
"build-tools;17.0.0" \
|
||||
"extras;android;m2repository" \
|
||||
"extras;google;m2repository" \
|
||||
"extras;google;google_play_services" \
|
||||
"add-ons;addon-google_apis-google-24" \
|
||||
"add-ons;addon-google_apis-google-23" \
|
||||
"add-ons;addon-google_apis-google-22" \
|
||||
"add-ons;addon-google_apis-google-21" \
|
||||
"cmake;3.6.4111459" \
|
||||
"cmake;3.10.2.4988404" \
|
||||
"patcher;v4"
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, document what was added to the metadata file"
|
||||
DocumentInstalledItem "Google Repository $(cat ${ANDROID_SDK_ROOT}/extras/google/m2repository/source.properties 2>&1 | grep Pkg.Revision | cut -d '=' -f 2)"
|
||||
DocumentInstalledItem "Google Play services $(cat ${ANDROID_SDK_ROOT}/extras/google/google_play_services/source.properties 2>&1 | grep Pkg.Revision | cut -d '=' -f 2)"
|
||||
DocumentInstalledItem "Google APIs 24"
|
||||
DocumentInstalledItem "Google APIs 23"
|
||||
DocumentInstalledItem "Google APIs 22"
|
||||
DocumentInstalledItem "Google APIs 21"
|
||||
DocumentInstalledItem "CMake $(ls ${ANDROID_SDK_ROOT}/cmake 2>&1)"
|
||||
DocumentInstalledItem "Android Support Repository 47.0.0"
|
||||
DocumentInstalledItem "Android SDK Platform-Tools $(cat ${ANDROID_SDK_ROOT}/platform-tools/source.properties 2>&1 | grep Pkg.Revision | cut -d '=' -f 2)"
|
||||
DocumentInstalledItem "Android SDK Platform 29"
|
||||
DocumentInstalledItem "Android SDK Platform 28"
|
||||
DocumentInstalledItem "Android SDK Platform 27"
|
||||
DocumentInstalledItem "Android SDK Platform 26"
|
||||
DocumentInstalledItem "Android SDK Platform 25"
|
||||
DocumentInstalledItem "Android SDK Platform 24"
|
||||
DocumentInstalledItem "Android SDK Platform 23"
|
||||
DocumentInstalledItem "Android SDK Platform 22"
|
||||
DocumentInstalledItem "Android SDK Platform 21"
|
||||
DocumentInstalledItem "Android SDK Platform 19"
|
||||
DocumentInstalledItem "Android SDK Platform 17"
|
||||
DocumentInstalledItem "Android SDK Patch Applier v4"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 29.0.3"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 29.0.2"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 29.0.0"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 28.0.3"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 28.0.2"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 28.0.1"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 28.0.0"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 27.0.3"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 27.0.2"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 27.0.1"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 27.0.0"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 26.0.3"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 26.0.2"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 26.0.1"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 26.0.0"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 25.0.3"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 25.0.2"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 25.0.1"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 25.0.0"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 24.0.3"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 24.0.2"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 24.0.1"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 24.0.0"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 23.0.3"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 23.0.2"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 23.0.1"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 22.0.1"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 21.1.2"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 20.0.0"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 19.1.0"
|
||||
DocumentInstalledItem "Android SDK Build-Tools 17.0.0"
|
||||
DocumentInstalledItem "Android NDK $(cat ${ANDROID_SDK_ROOT}/ndk-bundle/source.properties 2>&1 | grep Pkg.Revision | cut -d ' ' -f 3)"
|
||||
170
images/linux/scripts/installers/2004/basic.sh
Normal file
170
images/linux/scripts/installers/2004/basic.sh
Normal file
@@ -0,0 +1,170 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: basic.sh
|
||||
## Desc: Installs basic command line utilities and dev packages
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/apt.sh
|
||||
|
||||
set -e
|
||||
|
||||
echo "Install dnsutils"
|
||||
apt-get install -y --no-install-recommends dnsutils
|
||||
|
||||
echo "Install file"
|
||||
apt-get install -y --no-install-recommends file
|
||||
|
||||
echo "Install ftp"
|
||||
apt-get install -y --no-install-recommends ftp
|
||||
|
||||
echo "Install iproute2"
|
||||
apt-get install -y --no-install-recommends iproute2
|
||||
|
||||
echo "Install iputils-ping"
|
||||
apt-get install -y --no-install-recommends iputils-ping
|
||||
|
||||
echo "Install jq"
|
||||
apt-get install -y --no-install-recommends jq
|
||||
|
||||
echo "Install libcurl3"
|
||||
apt-get install -y --no-install-recommends libcurl3
|
||||
|
||||
echo "Install libunwind8"
|
||||
apt-get install -y --no-install-recommends libunwind8
|
||||
|
||||
echo "Install locales"
|
||||
apt-get install -y --no-install-recommends locales
|
||||
|
||||
echo "Install netcat"
|
||||
apt-get install -y --no-install-recommends netcat
|
||||
|
||||
echo "Install openssh-client"
|
||||
apt-get install -y --no-install-recommends openssh-client
|
||||
|
||||
echo "Install rsync"
|
||||
apt-get install -y --no-install-recommends rsync
|
||||
|
||||
echo "Install shellcheck"
|
||||
apt-get install -y --no-install-recommends shellcheck
|
||||
|
||||
echo "Install sudo"
|
||||
apt-get install -y --no-install-recommends sudo
|
||||
|
||||
echo "Install telnet"
|
||||
apt-get install -y --no-install-recommends telnet
|
||||
|
||||
echo "Install time"
|
||||
apt-get install -y --no-install-recommends time
|
||||
|
||||
echo "Install tzdata"
|
||||
apt-get install -y --no-install-recommends tzdata
|
||||
|
||||
echo "Install unzip"
|
||||
apt-get install -y --no-install-recommends unzip
|
||||
|
||||
echo "Install upx"
|
||||
apt-get install -y --no-install-recommends upx
|
||||
|
||||
echo "Install wget"
|
||||
apt-get install -y --no-install-recommends wget
|
||||
|
||||
echo "Install zip"
|
||||
apt-get install -y --no-install-recommends zip
|
||||
|
||||
echo "Install zstd"
|
||||
apt-get install -y --no-install-recommends zstd
|
||||
|
||||
echo "Install libxkbfile"
|
||||
apt-get install -y --no-install-recommends libxkbfile-dev
|
||||
|
||||
echo "Install pkg-config"
|
||||
apt-get install -y --no-install-recommends pkg-config
|
||||
|
||||
echo "Install libsecret-1-dev"
|
||||
apt-get install -y --no-install-recommends libsecret-1-dev
|
||||
|
||||
echo "Install libxss1"
|
||||
apt-get install -y --no-install-recommends libxss1
|
||||
|
||||
echo "Install libgconf-2-4"
|
||||
apt-get install -y --no-install-recommends libgconf-2-4
|
||||
|
||||
echo "Install dbus"
|
||||
apt-get install -y --no-install-recommends dbus
|
||||
|
||||
echo "Install xvfb"
|
||||
apt-get install -y --no-install-recommends xvfb
|
||||
|
||||
echo "Install libgbm-dev"
|
||||
apt-get install -y --no-install-recommends libgbm-dev
|
||||
|
||||
echo "Install libgtk"
|
||||
apt-get install -y --no-install-recommends libgtk-3-0
|
||||
|
||||
echo "Install tk"
|
||||
apt install -y tk
|
||||
|
||||
echo "Install fakeroot"
|
||||
apt-get install -y --no-install-recommends fakeroot
|
||||
|
||||
echo "Install dpkg"
|
||||
apt-get install -y --no-install-recommends dpkg
|
||||
|
||||
echo "Install rpm"
|
||||
apt-get install -y --no-install-recommends rpm
|
||||
|
||||
echo "Install xz-utils"
|
||||
apt-get install -y --no-install-recommends xz-utils
|
||||
|
||||
echo "Install xorriso"
|
||||
apt-get install -y --no-install-recommends xorriso
|
||||
|
||||
echo "Install zsync"
|
||||
apt-get install -y --no-install-recommends zsync
|
||||
|
||||
echo "Install curl"
|
||||
apt-get install -y --no-install-recommends curl
|
||||
|
||||
echo "Install parallel"
|
||||
apt-get install -y --no-install-recommends parallel
|
||||
|
||||
# Run tests to determine that the software installed as expected
|
||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
||||
for cmd in curl file ftp jq netcat ssh parallel rsync shellcheck sudo telnet time unzip wget zip; do
|
||||
if ! command -v $cmd; then
|
||||
echo "$cmd was not installed"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Basic CLI:"
|
||||
DocumentInstalledItemIndent "curl"
|
||||
DocumentInstalledItemIndent "dnsutils"
|
||||
DocumentInstalledItemIndent "file"
|
||||
DocumentInstalledItemIndent "ftp"
|
||||
DocumentInstalledItemIndent "iproute2"
|
||||
DocumentInstalledItemIndent "iputils-ping"
|
||||
DocumentInstalledItemIndent "jq"
|
||||
DocumentInstalledItemIndent "libcurl3"
|
||||
DocumentInstalledItemIndent "libgbm-dev"
|
||||
DocumentInstalledItemIndent "libicu55"
|
||||
DocumentInstalledItemIndent "libunwind8"
|
||||
DocumentInstalledItemIndent "locales"
|
||||
DocumentInstalledItemIndent "netcat"
|
||||
DocumentInstalledItemIndent "openssh-client"
|
||||
DocumentInstalledItemIndent "parallel"
|
||||
DocumentInstalledItemIndent "rsync"
|
||||
DocumentInstalledItemIndent "shellcheck"
|
||||
DocumentInstalledItemIndent "sudo"
|
||||
DocumentInstalledItemIndent "telnet"
|
||||
DocumentInstalledItemIndent "time"
|
||||
DocumentInstalledItemIndent "tzdata"
|
||||
DocumentInstalledItemIndent "unzip"
|
||||
DocumentInstalledItemIndent "upx"
|
||||
DocumentInstalledItemIndent "wget"
|
||||
DocumentInstalledItemIndent "zip"
|
||||
DocumentInstalledItemIndent "zstd"
|
||||
24
images/linux/scripts/installers/2004/containers.sh
Normal file
24
images/linux/scripts/installers/2004/containers.sh
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: containers.sh
|
||||
## Desc: Installs container tools: podman, buildah and skopeo onto the image
|
||||
################################################################################
|
||||
|
||||
source $HELPER_SCRIPTS/apt.sh
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
source /etc/os-release
|
||||
sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/x${NAME}_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"
|
||||
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${NAME}_${VERSION_ID}/Release.key -O Release.key
|
||||
apt-key add - < Release.key
|
||||
apt-get update -qq
|
||||
apt-get -qq -y install podman buildah skopeo
|
||||
mkdir -p /etc/containers
|
||||
echo -e "[registries.search]\nregistries = ['docker.io', 'quay.io']" | tee /etc/containers/registries.conf
|
||||
|
||||
## Add version information to the metadata file
|
||||
echo "Documenting container tools version"
|
||||
PODMAN_VERSION='podman --version'
|
||||
BUILDAH_VERSION='buildah --version'
|
||||
SKOPEO_VERSION='skopeo --version'
|
||||
DocumentInstalledItem "Podman ($PODMAN_VERSION)\nBuildah ($BUILDAH_VERSION)\nSkopeo ($SKOPEO_VERSION)"
|
||||
42
images/linux/scripts/installers/2004/kubernetes-tools.sh
Normal file
42
images/linux/scripts/installers/2004/kubernetes-tools.sh
Normal file
@@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: kubernetes-tools.sh
|
||||
## Desc: Installs kubectl, helm
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/apt.sh
|
||||
|
||||
## Install kubectl
|
||||
apt-get install -y apt-transport-https
|
||||
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
|
||||
touch /etc/apt/sources.list.d/kubernetes.list
|
||||
|
||||
# Based on https://kubernetes.io/docs/tasks/tools/install-kubectl/, package is still called xenial
|
||||
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | tee -a /etc/apt/sources.list.d/kubernetes.list
|
||||
apt-get update
|
||||
apt-get install -y kubectl
|
||||
|
||||
# Install Helm
|
||||
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
|
||||
|
||||
# Run tests to determine that the software installed as expected
|
||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
||||
if ! command -v kubectl; then
|
||||
echo "kubectl was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v helm; then
|
||||
echo "helm was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Initializing helm"
|
||||
helm init --client-only
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "kubectl ($(kubectl version --short |& head -n 1))"
|
||||
DocumentInstalledItem "helm ($(helm version --short |& head -n 1))"
|
||||
21
images/linux/scripts/installers/2004/mercurial.sh
Normal file
21
images/linux/scripts/installers/2004/mercurial.sh
Normal file
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: mercurial.sh
|
||||
## Desc: Installs Mercurial
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
source $HELPER_SCRIPTS/apt.sh
|
||||
|
||||
apt-get install -y --no-install-recommends mercurial
|
||||
|
||||
# Run tests to determine that the software installed as expected
|
||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
||||
if ! command -v hg; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Mercurial ($(hg --version | head -n 1))"
|
||||
224
images/linux/scripts/installers/2004/php.sh
Normal file
224
images/linux/scripts/installers/2004/php.sh
Normal file
@@ -0,0 +1,224 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: php.sh
|
||||
## Desc: Installs php
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/etc-environment.sh
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
LSB_RELEASE=$(lsb_release -rs)
|
||||
|
||||
set -e
|
||||
|
||||
apt-add-repository ppa:ondrej/php -y
|
||||
|
||||
# Install php7.1
|
||||
apt-fast install -y --no-install-recommends \
|
||||
php7.1 \
|
||||
php7.1-bcmath \
|
||||
php7.1-bz2 \
|
||||
php7.1-cgi \
|
||||
php7.1-cli \
|
||||
php7.1-common \
|
||||
php7.1-curl \
|
||||
php7.1-dba \
|
||||
php7.1-dev \
|
||||
php7.1-enchant \
|
||||
php7.1-fpm \
|
||||
php7.1-gd \
|
||||
php7.1-gmp \
|
||||
php7.1-imap \
|
||||
php7.1-interbase \
|
||||
php7.1-intl \
|
||||
php7.1-json \
|
||||
php7.1-ldap \
|
||||
php7.1-mbstring \
|
||||
php7.1-mcrypt \
|
||||
php7.1-mysql \
|
||||
php7.1-odbc \
|
||||
php7.1-opcache \
|
||||
php7.1-pgsql \
|
||||
php7.1-phpdbg \
|
||||
php7.1-pspell \
|
||||
php7.1-readline \
|
||||
php7.1-recode \
|
||||
php7.1-snmp \
|
||||
php7.1-soap \
|
||||
php7.1-sqlite3 \
|
||||
php7.1-sybase \
|
||||
php7.1-tidy \
|
||||
php7.1-xml \
|
||||
php7.1-xmlrpc \
|
||||
php7.1-xsl \
|
||||
php7.1-zip
|
||||
apt-get remove --purge -yq php7.1-dev
|
||||
|
||||
# Install php7.2
|
||||
apt-fast install -y --no-install-recommends \
|
||||
php7.2 \
|
||||
php7.2-bcmath \
|
||||
php7.2-bz2 \
|
||||
php7.2-cgi \
|
||||
php7.2-cli \
|
||||
php7.2-common \
|
||||
php7.2-curl \
|
||||
php7.2-dba \
|
||||
php7.2-dev \
|
||||
php7.2-enchant \
|
||||
php7.2-fpm \
|
||||
php7.2-gd \
|
||||
php7.2-gmp \
|
||||
php7.2-imap \
|
||||
php7.2-interbase \
|
||||
php7.2-intl \
|
||||
php7.2-json \
|
||||
php7.2-ldap \
|
||||
php7.2-mbstring \
|
||||
php7.2-mysql \
|
||||
php7.2-odbc \
|
||||
php7.2-opcache \
|
||||
php7.2-pgsql \
|
||||
php7.2-phpdbg \
|
||||
php7.2-pspell \
|
||||
php7.2-readline \
|
||||
php7.2-recode \
|
||||
php7.2-snmp \
|
||||
php7.2-soap \
|
||||
php7.2-sqlite3 \
|
||||
php7.2-sybase \
|
||||
php7.2-tidy \
|
||||
php7.2-xml \
|
||||
php7.2-xmlrpc \
|
||||
php7.2-xsl \
|
||||
php7.2-zip
|
||||
|
||||
# Install php7.3
|
||||
apt-fast install -y --no-install-recommends \
|
||||
php7.3 \
|
||||
php7.3-bcmath \
|
||||
php7.3-bz2 \
|
||||
php7.3-cgi \
|
||||
php7.3-cli \
|
||||
php7.3-common \
|
||||
php7.3-curl \
|
||||
php7.3-dba \
|
||||
php7.3-dev \
|
||||
php7.3-enchant \
|
||||
php7.3-fpm \
|
||||
php7.3-gd \
|
||||
php7.3-gmp \
|
||||
php7.3-imap \
|
||||
php7.3-interbase \
|
||||
php7.3-intl \
|
||||
php7.3-json \
|
||||
php7.3-ldap \
|
||||
php7.3-mbstring \
|
||||
php7.3-mysql \
|
||||
php7.3-odbc \
|
||||
php7.3-opcache \
|
||||
php7.3-pgsql \
|
||||
php7.3-phpdbg \
|
||||
php7.3-pspell \
|
||||
php7.3-readline \
|
||||
php7.3-recode \
|
||||
php7.3-snmp \
|
||||
php7.3-soap \
|
||||
php7.3-sqlite3 \
|
||||
php7.3-sybase \
|
||||
php7.3-tidy \
|
||||
php7.3-xml \
|
||||
php7.3-xmlrpc \
|
||||
php7.3-xsl \
|
||||
php7.3-zip
|
||||
|
||||
# Install php7.4
|
||||
apt-fast install -y --no-install-recommends \
|
||||
php7.4 \
|
||||
php7.4-bcmath \
|
||||
php7.4-bz2 \
|
||||
php7.4-cgi \
|
||||
php7.4-cli \
|
||||
php7.4-common \
|
||||
php7.4-curl \
|
||||
php7.4-dba \
|
||||
php7.4-dev \
|
||||
php7.4-enchant \
|
||||
php7.4-fpm \
|
||||
php7.4-gd \
|
||||
php7.4-gmp \
|
||||
php7.4-imap \
|
||||
php7.4-interbase \
|
||||
php7.4-intl \
|
||||
php7.4-json \
|
||||
php7.4-ldap \
|
||||
php7.4-mbstring \
|
||||
php7.4-mysql \
|
||||
php7.4-odbc \
|
||||
php7.4-opcache \
|
||||
php7.4-pgsql \
|
||||
php7.4-phpdbg \
|
||||
php7.4-pspell \
|
||||
php7.4-readline \
|
||||
php7.4-snmp \
|
||||
php7.4-soap \
|
||||
php7.4-sqlite3 \
|
||||
php7.4-sybase \
|
||||
php7.4-tidy \
|
||||
php7.4-xml \
|
||||
php7.4-xmlrpc \
|
||||
php7.4-xsl \
|
||||
php7.4-zip
|
||||
|
||||
apt-fast install -y --no-install-recommends \
|
||||
php-amqp \
|
||||
php-apcu \
|
||||
php-igbinary \
|
||||
php-memcache \
|
||||
php-memcached \
|
||||
php-mongodb \
|
||||
php-redis \
|
||||
php-xdebug \
|
||||
php-yaml \
|
||||
php-zmq
|
||||
|
||||
apt-get remove --purge -yq php7.2-dev
|
||||
|
||||
apt-fast install -y --no-install-recommends snmp
|
||||
|
||||
# Install composer
|
||||
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
||||
php -r "if (hash_file('sha384', 'composer-setup.php') === file_get_contents('https://composer.github.io/installer.sig')) { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
|
||||
php composer-setup.php
|
||||
sudo mv composer.phar /usr/bin/composer
|
||||
php -r "unlink('composer-setup.php');"
|
||||
|
||||
# Update /etc/environment
|
||||
prependEtcEnvironmentPath /home/runner/.config/composer/vendor/bin
|
||||
|
||||
# Add composer bin folder to path
|
||||
echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> /etc/skel/.bashrc
|
||||
|
||||
# Install phpunit (for PHP)
|
||||
wget -q -O phpunit https://phar.phpunit.de/phpunit-7.phar
|
||||
chmod +x phpunit
|
||||
mv phpunit /usr/local/bin/phpunit
|
||||
|
||||
# Run tests to determine that the software installed as expected
|
||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
||||
for cmd in php php7.1 php7.2 php7.3 php7.4 composer phpunit; do
|
||||
if ! command -v $cmd; then
|
||||
echo "$cmd was not installed"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "PHP 7.1 ($(php7.1 --version | head -n 1))"
|
||||
DocumentInstalledItem "PHP 7.2 ($(php7.2 --version | head -n 1))"
|
||||
DocumentInstalledItem "PHP 7.3 ($(php7.3 --version | head -n 1))"
|
||||
DocumentInstalledItem "PHP 7.4 ($(php7.4 --version | head -n 1))"
|
||||
DocumentInstalledItem "Composer ($(composer --version))"
|
||||
DocumentInstalledItem "PHPUnit ($(phpunit --version))"
|
||||
12
images/linux/scripts/installers/2004/preparemetadata.sh
Normal file
12
images/linux/scripts/installers/2004/preparemetadata.sh
Normal file
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: preparemetadata.sh
|
||||
## Desc: This script adds a image title information to the metadata
|
||||
## document
|
||||
################################################################################
|
||||
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
AddTitle "$(lsb_release -ds)"
|
||||
WriteItem "The following software is installed on machines with the $IMAGE_VERSION update."
|
||||
WriteItem "***"
|
||||
Reference in New Issue
Block a user