Commit 0a25fa3b authored by Michal Berger's avatar Michal Berger Committed by Tomasz Zawadzki
Browse files

pkgdep/git: cherry-pick dpdk fixes to release and LTS checkouts



This brings commit targeting fixes for the pu macros usage under
latest freebsd (13.x).

Also, group cherry-picks into cherry_picks() and apply them
together before the build starts.

Signed-off-by: default avatarMichal Berger <michal.berger@intel.com>
Change-Id: Id49aa3d6eb065d8bb92f48402304c4f11f3c047f
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13544


Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: default avatarKamil Godzwon <kamilx.godzwon@intel.com>
parent f4e0fc09
Loading
Loading
Loading
Loading
+30 −5
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@ function install_refspdk() {
	local config_params
	local rootdir
	local version
	# Note to keep cherry-pick'ed commits in proper order
	local cherry_picks=()

	version=$1

@@ -43,13 +45,36 @@ function install_refspdk() {
	git -C "$output_dir" checkout "$release"
	git -C "$output_dir" submodule update --init

	if ((gcc_version >= 11)) && le "${release#v}" 21.04; then
	git -C "$output_dir" config --global user.name "spdk"
	git -C "$output_dir" config --global user.email "hotpatch@spdk.io"
		git -C "$output_dir" cherry-pick 36b5a69bb0699694b53a2f08a13cc0de620450a9
		git -C "$output_dir" cherry-pick 2ac152158116a17b863270a4731977d9ddedf50d

	release=${release#v}

	if ((gcc_version >= 11)) && le "$release" 21.04; then
		cherry_picks+=("36b5a69bb0699694b53a2f08a13cc0de620450a9")
		cherry_picks+=("2ac152158116a17b863270a4731977d9ddedf50d")
	fi

	if [[ $OSID == "freebsd" ]]; then
		# Fetch all the branches
		git -C "$output_dir" fetch origin '+refs/heads/v*:refs/remotes/origin/v*'
		# Slurp commit from the master and the LTS branch to address changes in the
		# use of cpu macros under latest freebsd releases (13.x).
		# https://review.spdk.io/gerrit/c/spdk/spdk/+/13484 - master
		# https://review.spdk.io/gerrit/c/spdk/spdk/+/13541 - LTS.x
		case "$version" in
			latest) eq "$release" 22.05.0 && cherry_picks+=("a83dc0546f838905dbe96605e99811b2f62c0eb5") ;;
			LTS   ) eq "$release" 22.01.1 && cherry_picks+=("1d1248bd1b0e11896ed5e3fa5ce4a8b94c3d5fd0") ;;
		esac
	fi

	for cherry in "${cherry_picks[@]}"; do
		git -C "$output_dir" cherry-pick "$cherry"
	done

	# Make sure submodules point at proper commits after cherry-picks are applied
	git -C "$output_dir" submodule update

	cat > $HOME/autorun-spdk.conf <<- EOF
		SPDK_BUILD_SHARED_OBJECT=1
		SPDK_TEST_AUTOBUILD=1