Commit 89d49f77 authored by Michal Berger's avatar Michal Berger Committed by Tomasz Zawadzki
Browse files

pkgdep/debian: Handle PEP 668



Use common, dedicated path for virtual environment to accomodate
for potentially multi-user system. This is now required, unless
"--break-system-packages" opt is used with pip to override it.

Our dependencies would definitely not break the system, but since
the name of this opt sounds quite ominous let's adhere to what's
recommended.

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


Community-CI: Mellanox Build Bot
Reviewed-by: default avatarKamil Godzwon <kamilx.godzwon@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent bfb76280
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -6,6 +6,26 @@
#  Copyright (c) 2022 Dell Inc, or its subsidiaries.
#

case "$VERSION_CODENAME" in
	bookworm | noble)
		# These ship with pip which enforces PEP668
		apt-get install -y python3-venv
		virtdir=${PIP_VIRTDIR:-/var/spdk/dependencies/pip}

		mkdir --p "$virtdir"
		pkgdep_toolpath pip "$virtdir/bin"

		pip3() (
			if [[ ! -e $virtdir/bin/activate ]]; then
				python3 -m venv --upgrade-deps --system-site-packages "$virtdir"
			fi
			source "$virtdir/bin/activate"
			"$virtdir/bin/pip3" "$@"
		)
		;;
	*) ;;
esac

apt-get install -y gcc g++ make libcunit1-dev libaio-dev libssl-dev libjson-c-dev libcmocka-dev uuid-dev libiscsi-dev
apt-get install -y libkeyutils-dev libncurses5-dev libncursesw5-dev python3 python3-pip python3-dev unzip libfuse3-dev
pip3 install ninja