Subject: Re: [PATCH 2/4] ci: unify ubuntu and ubuntu32 dependencies

From: Patrick Steinhardt <[email-masked]>
Date: Thu, 12 Sep 2024 12:41:00 +0200

On Thu, Sep 12, 2024 at 05:45:37AM -0400, Jeff King wrote:
> diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh
> index 4781cd20bb..00cb7df67a 100755
> --- a/ci/install-dependencies.sh
> +++ b/ci/install-dependencies.sh
> @@ -33,7 +33,7 @@ fedora-*)
>  	dnf -yq update >/dev/null &&
>  	dnf -yq install make gcc findutils diffutils perl python3 gettext zlib-devel expat-devel openssl-devel curl-devel pcre2-devel >/dev/null
>  	;;
> -ubuntu-*)
> +ubuntu-*|ubuntu32-*)
>  	# Required so that apt doesn't wait for user input on certain packages.
>  	export DEBIAN_FRONTEND=noninteractive
>  
> @@ -45,25 +45,23 @@ ubuntu-*)
>  		libemail-valid-perl libio-pty-perl libio-socket-ssl-perl libnet-smtp-ssl-perl libdbd-sqlite3-perl libcgi-pm-perl \
>  		${CC_PACKAGE:-${CC:-gcc}} $PYTHON_PACKAGE
>  
> -	mkdir --parents "$CUSTOM_PATH"
> -	wget --quiet --directory-prefix="$CUSTOM_PATH" \
> -		"$P4WHENCE/bin.linux26x86_64/p4d" "$P4WHENCE/bin.linux26x86_64/p4"
> -	chmod a+x "$CUSTOM_PATH/p4d" "$CUSTOM_PATH/p4"
> +	case "$distro" in
> +	ubuntu-*)
> +		mkdir --parents "$CUSTOM_PATH"
>  
> -	wget --quiet "$LFSWHENCE/git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz"
> -	tar -xzf "git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz" \
> -		-C "$CUSTOM_PATH" --strip-components=1 "git-lfs-$LINUX_GIT_LFS_VERSION/git-lfs"
> -	rm "git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz"
> +		wget --quiet --directory-prefix="$CUSTOM_PATH" \
> +			"$P4WHENCE/bin.linux26x86_64/p4d" "$P4WHENCE/bin.linux26x86_64/p4"
> +		chmod a+x "$CUSTOM_PATH/p4d" "$CUSTOM_PATH/p4"
>  
> -	wget --quiet "$JGITWHENCE" --output-document="$CUSTOM_PATH/jgit"
> -	chmod a+x "$CUSTOM_PATH/jgit"
> -	;;
> -ubuntu32-*)
> -	sudo linux32 --32bit i386 sh -c '
> -		apt update >/dev/null &&
> -		apt install -y build-essential libcurl4-openssl-dev \
> -			libssl-dev libexpat-dev gettext python >/dev/null
> -	'
> +		wget --quiet "$LFSWHENCE/git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz"
> +		tar -xzf "git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz" \
> +			-C "$CUSTOM_PATH" --strip-components=1 "git-lfs-$LINUX_GIT_LFS_VERSION/git-lfs"
> +		rm "git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz"
> +
> +		wget --quiet "$JGITWHENCE" --output-document="$CUSTOM_PATH/jgit"
> +		chmod a+x "$CUSTOM_PATH/jgit"
> +		;;
> +	esac
>  	;;

Okay. All of the build dependencies retrieved via apt are the same
across two platforms now, but the dependencies we fetch and install
manually are 64-bit specific. So overall we get more coverage with less
duplication. Nice.

Patrick