From 2a47ad5c78192e9289b4184042e8ba70e4f4572b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20Pe=C4=8Dovnik?= Date: Tue, 9 Nov 2021 18:15:04 +0100 Subject: [PATCH] Add support for next Ubuntu LTS (#3234) * Add support for next Ubuntu LTS * Update build-cache.yml * Update build-cache.yml * Update build-cache.yml * Update build-cache.yml * Jammy repository creation * Enable docker build support on Jammy --- compile.sh | 2 +- config/cli/jammy/debootstrap | 1 + config/cli/jammy/main/config_cli_standard | 1 + config/cli/jammy/main/config_desktop | 1 + config/cli/jammy/main/packages | 1 + config/cli/jammy/main/packages.additional | 2 ++ config/desktop/jammy | 1 + config/distributions/jammy/name | 1 + config/distributions/jammy/support | 1 + lib/chroot-buildpackages.sh | 2 ++ lib/configuration.sh | 2 +- lib/debootstrap.sh | 2 +- lib/distributions.sh | 2 +- lib/general.sh | 2 +- 14 files changed, 16 insertions(+), 5 deletions(-) create mode 120000 config/cli/jammy/debootstrap create mode 120000 config/cli/jammy/main/config_cli_standard create mode 120000 config/cli/jammy/main/config_desktop create mode 120000 config/cli/jammy/main/packages create mode 100644 config/cli/jammy/main/packages.additional create mode 120000 config/desktop/jammy create mode 100644 config/distributions/jammy/name create mode 100644 config/distributions/jammy/support diff --git a/compile.sh b/compile.sh index 8cfed7b69..13d9571c6 100755 --- a/compile.sh +++ b/compile.sh @@ -178,7 +178,7 @@ if [[ "${1}" == docker && -f /etc/debian_version && -z "$(command -v docker)" ]] codename=$(cat /etc/os-release | grep VERSION_CODENAME | cut -d"=" -f2) codeid=$(cat /etc/os-release | grep ^NAME | cut -d"=" -f2 | awk '{print tolower($0)}' | tr -d '"' | awk '{print $1}') [[ "${codename}" == "debbie" ]] && codename="buster" && codeid="debian" - [[ "${codename}" == "ulyana" ]] && codename="focal" && codeid="ubuntu" + [[ "${codename}" == "ulyana" || "${codename}" == "jammy" ]] && codename="focal" && codeid="ubuntu" # different binaries for some. TBD. Need to check for all others [[ "${codename}" =~ focal|hirsute ]] && DOCKER_BINARY="docker containerd docker.io" diff --git a/config/cli/jammy/debootstrap b/config/cli/jammy/debootstrap new file mode 120000 index 000000000..70a5776e2 --- /dev/null +++ b/config/cli/jammy/debootstrap @@ -0,0 +1 @@ +../focal/debootstrap \ No newline at end of file diff --git a/config/cli/jammy/main/config_cli_standard b/config/cli/jammy/main/config_cli_standard new file mode 120000 index 000000000..c7fe3c166 --- /dev/null +++ b/config/cli/jammy/main/config_cli_standard @@ -0,0 +1 @@ +../../focal/main/config_cli_standard \ No newline at end of file diff --git a/config/cli/jammy/main/config_desktop b/config/cli/jammy/main/config_desktop new file mode 120000 index 000000000..e22162e48 --- /dev/null +++ b/config/cli/jammy/main/config_desktop @@ -0,0 +1 @@ +../../focal/main/config_desktop \ No newline at end of file diff --git a/config/cli/jammy/main/packages b/config/cli/jammy/main/packages new file mode 120000 index 000000000..fa3862360 --- /dev/null +++ b/config/cli/jammy/main/packages @@ -0,0 +1 @@ +../../focal/main/packages \ No newline at end of file diff --git a/config/cli/jammy/main/packages.additional b/config/cli/jammy/main/packages.additional new file mode 100644 index 000000000..5e2ed03ba --- /dev/null +++ b/config/cli/jammy/main/packages.additional @@ -0,0 +1,2 @@ +network-manager network-manager-openvpn wireless-tools lsof htop mmc-utils wget nano sysstat net-tools +resolvconf jq libcrack2 cracklib-runtime curl mc i2c-tools diff --git a/config/desktop/jammy b/config/desktop/jammy new file mode 120000 index 000000000..1e3f06ddf --- /dev/null +++ b/config/desktop/jammy @@ -0,0 +1 @@ +hirsute \ No newline at end of file diff --git a/config/distributions/jammy/name b/config/distributions/jammy/name new file mode 100644 index 000000000..47875c172 --- /dev/null +++ b/config/distributions/jammy/name @@ -0,0 +1 @@ +Ubuntu jammy 22.04 LTS diff --git a/config/distributions/jammy/support b/config/distributions/jammy/support new file mode 100644 index 000000000..03cd47015 --- /dev/null +++ b/config/distributions/jammy/support @@ -0,0 +1 @@ +csc diff --git a/lib/chroot-buildpackages.sh b/lib/chroot-buildpackages.sh index 752648c76..ca128cfc7 100644 --- a/lib/chroot-buildpackages.sh +++ b/lib/chroot-buildpackages.sh @@ -38,6 +38,7 @@ create_chroot() apt_mirror['focal']="$UBUNTU_MIRROR" apt_mirror['hirsute']="$UBUNTU_MIRROR" apt_mirror['impish']="$UBUNTU_MIRROR" + apt_mirror['jammy']="$UBUNTU_MIRROR" components['stretch']='main,contrib' components['buster']='main,contrib' components['bullseye']='main,contrib' @@ -47,6 +48,7 @@ create_chroot() components['focal']='main,universe,multiverse' components['hirsute']='main,universe,multiverse' components['impish']='main,universe,multiverse' + components['jammy']='main,universe,multiverse' display_alert "Creating build chroot" "$release/$arch" "info" local includes="ccache,locales,git,ca-certificates,devscripts,libfile-fcntllock-perl,debhelper,rsync,python3,distcc" # perhaps a temporally workaround diff --git a/lib/configuration.sh b/lib/configuration.sh index 43c30c23f..2379854c8 100644 --- a/lib/configuration.sh +++ b/lib/configuration.sh @@ -362,7 +362,7 @@ BOOTCONFIG_VAR_NAME=BOOTCONFIG_${BRANCH^^} [[ -z $ATFPATCHDIR ]] && ATFPATCHDIR="atf-$LINUXFAMILY" [[ -z $KERNELPATCHDIR ]] && KERNELPATCHDIR="$LINUXFAMILY-$BRANCH" -if [[ "$RELEASE" =~ ^(xenial|bionic|focal|hirsute|impish)$ ]]; then +if [[ "$RELEASE" =~ ^(xenial|bionic|focal|hirsute|impish|jammy)$ ]]; then DISTRIBUTION="Ubuntu" else DISTRIBUTION="Debian" diff --git a/lib/debootstrap.sh b/lib/debootstrap.sh index 1ca9f5217..de5dfc822 100644 --- a/lib/debootstrap.sh +++ b/lib/debootstrap.sh @@ -420,7 +420,7 @@ prepare_partitions() # add -N number of inodes to keep mount from running out # create bigger number for desktop builds if [[ $BUILD_DESKTOP == yes ]]; then local node_number=4096; else local node_number=1024; fi - if [[ $HOSTRELEASE =~ bionic|buster|bullseye|cosmic|focal|hirsute|impish|sid ]]; then + if [[ $HOSTRELEASE =~ bionic|buster|bullseye|cosmic|focal|hirsute|impish|jammy|sid ]]; then mkopts[ext4]="-q -m 2 -O ^64bit,^metadata_csum -N $((128*${node_number}))" elif [[ $HOSTRELEASE == xenial ]]; then mkopts[ext4]="-q -m 2 -N $((128*${node_number}))" diff --git a/lib/distributions.sh b/lib/distributions.sh index 5e7b1782f..478c08696 100644 --- a/lib/distributions.sh +++ b/lib/distributions.sh @@ -605,7 +605,7 @@ install_distribution_specific() ;; - bionic|focal|hirsute|impish) + bionic|focal|hirsute|impish|jammy) # by using default lz4 initrd compression leads to corruption, go back to proven method sed -i "s/^COMPRESS=.*/COMPRESS=gzip/" "${SDCARD}"/etc/initramfs-tools/initramfs.conf diff --git a/lib/general.sh b/lib/general.sh index e6476d909..c3b768149 100644 --- a/lib/general.sh +++ b/lib/general.sh @@ -980,7 +980,7 @@ repo-manipulate() # "update" search for new files in output/debs* to add them to repository # "purge" leave only last 5 versions - local DISTROS=("stretch" "bionic" "buster" "bullseye" "focal" "hirsute" "impish" "sid") + local DISTROS=("stretch" "bionic" "buster" "bullseye" "focal" "hirsute" "impish" "jammy" "sid") #local DISTROS=($(grep -rw config/distributions/*/ -e 'supported' | cut -d"/" -f3)) case $@ in