diff --git a/images/linux/scripts/installers/1604/basic.sh b/images/linux/scripts/installers/1604/basic.sh index ce66845e0..cd4017140 100644 --- a/images/linux/scripts/installers/1604/basic.sh +++ b/images/linux/scripts/installers/1604/basic.sh @@ -10,60 +10,67 @@ source $HELPER_SCRIPTS/apt.sh set -e -# Install basic command-line utilities -apt-fast install -y --no-install-recommends \ - curl \ - dnsutils \ - file \ - ftp \ - iproute2 \ - iputils-ping \ - jq \ - libc++-dev \ - libc++abi-dev \ - libcurl3 \ - libicu55 \ - libunwind8 \ - locales \ - netcat \ - openssh-client \ - parallel \ - rsync \ - shellcheck \ - sudo \ - telnet \ - time \ - tzdata \ - unzip \ - upx \ - wget \ - zip \ - zstd \ - lib32z1 +common_packages="dnsutils + iproute2 + iputils-ping + libc++-dev + libc++abi-dev + libcurl3 + libicu55 + libunwind8 + locales + openssh-client + tzdata + zstd + lib32z1 + libxkbfile-dev + pkg-config + libsecret-1-dev + libxss1 + libgconf-2-4 + dbus + xvfb + libgbm-dev + libgtk-3-0 + tk + fakeroot + dpkg + rpm + xz-utils + xorriso + zsync + gnupg2 + texinfo" -# Electron / VSCode / GitHub Desktop / kubectl prereqs -apt-fast install -y --no-install-recommends \ - libxkbfile-dev \ - pkg-config \ - libsecret-1-dev \ - libxss1 \ - libgconf-2-4 \ - dbus \ - xvfb \ - libgbm-dev \ - libgtk-3-0 \ - tk \ - fakeroot \ - dpkg \ - rpm \ - xz-utils \ - xorriso \ - zsync \ - gnupg2 +cmd_packages="curl + file + ftp + jq + netcat + ssh + parallel + rsync + shellcheck + sudo + telnet + time + unzip + zip + wget + upx + m4 + bison + flex" + +# Install basic command-line utilities +for package in $common_packages $cmd_packages; do + echo "Install $package" + apt-fast install -y --no-install-recommends $package +done # 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 upx wget zip; do +for cmd in $cmd_packages; do if ! command -v $cmd; then echo "$cmd was not installed" exit 1 @@ -72,34 +79,7 @@ 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 "libc++-dev" -DocumentInstalledItemIndent "libc++abi-dev" -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" -DocumentInstalledItemIndent "gnupg2" -DocumentInstalledItemIndent "lib32z1" +DocumentInstalledItem "Basic packages:" +for package in $common_packages $cmd_packages; do + DocumentInstalledItemIndent $package +done diff --git a/images/linux/scripts/installers/basic.sh b/images/linux/scripts/installers/basic.sh index 08a223350..cef98a9f4 100644 --- a/images/linux/scripts/installers/basic.sh +++ b/images/linux/scripts/installers/basic.sh @@ -11,29 +11,59 @@ source $HELPER_SCRIPTS/os.sh set -e +common_packages="dnsutils + iproute2 + iputils-ping + libunwind8 + locales + openssh-client + tzdata + upx + zstd + libxkbfile-dev + pkg-config + libsecret-1-dev + libxss1 + libgconf-2-4 + dbus + xvfb + libgbm-dev + libgtk-3-0 + tk + fakeroot + dpkg + rpm + xz-utils + xorriso + zsync + gnupg2 + lib32z1 + texinfo" + +cmd_packages="curl + file + ftp + jq + netcat + ssh + parallel + rsync + shellcheck + sudo + telnet + time + unzip + zip + wget + m4 + bison + flex" + if isUbuntu20 ; then echo "Install python2" apt-get install -y --no-install-recommends python-is-python2 fi -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 libcurl" if isUbuntu18 ; then libcurelVer="libcurl3" @@ -45,114 +75,15 @@ fi apt-get install -y --no-install-recommends $libcurelVer -echo "Install libunwind8" -apt-get install -y --no-install-recommends libunwind8 +for package in $common_packages $cmd_packages; do + echo "Install $package" + apt-get install -y --no-install-recommends $package +done -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 - -echo "Install gnupg2" -apt-get install -y --no-install-recommends gnupg2 - -echo "Install lib32z1" -apt-get install -y --no-install-recommends lib32z1 # 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 +for cmd in $cmd_packages; do if ! command -v $cmd; then echo "$cmd was not installed" exit 1 @@ -161,32 +92,9 @@ 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" +DocumentInstalledItem "Basic packages:" +for package in $common_packages $cmd_packages; do + DocumentInstalledItemIndent $package +done + DocumentInstalledItemIndent "$libcurelVer" -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" -DocumentInstalledItemIndent "gnupg2" -DocumentInstalledItemIndent "lib32z1"