Commit f14b142a authored by Ben Walker's avatar Ben Walker Committed by Tomasz Zawadzki
Browse files

build: Install python libraries using pip install



This is the modern way to do it and it is much simpler. We no longer
need --pydir for ./configure because it just uses --prefix.

Fixes #3188

Change-Id: I2d05c5e37fa3d1aa8cd0358ca887f8dda06bd5d7
Signed-off-by: default avatarBen Walker <ben@nvidia.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21384


Reviewed-by: default avatarWojciech Panfil <wojciech.panfil@intel.com>
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
parent c4430434
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -10,9 +10,6 @@
# Installation prefix
CONFIG_PREFIX="/usr/local"

# Destination directory for the Python libraries
CONFIG_PYDIR=

# Target architecture
CONFIG_ARCH=native

+0 −4
Original line number Diff line number Diff line
@@ -28,7 +28,6 @@ function usage() {
	echo " --cross-prefix=prefix     Prefix for cross compilation (default: none)"
	echo "                           example: aarch64-linux-gnu"
	echo " --libdir=path             Configure installation path for the libraries (default: \$prefix/lib)"
	echo " --pydir=path              Configure installation path for the python libraries"
	echo " --max-lcores=VAL          DPDK configuration. VAL defines maximum number of lcores supported"
	echo "                           by EAL, or enables autodetection if set to 'detect'. When 'detect'"
	echo "                           is specified, DPDK will detect number of cores in the system during"
@@ -304,9 +303,6 @@ for i in "$@"; do
		--libdir=*)
			CONFIG[LIBDIR]="${i#*=}"
			;;
		--pydir=*)
			CONFIG[PYDIR]="${i#*=}"
			;;
		--enable-debug)
			CONFIG[DEBUG]=y
			;;
+9 −9
Original line number Diff line number Diff line
@@ -7,16 +7,16 @@
SPDK_ROOT_DIR := $(abspath $(CURDIR)/..)
include $(SPDK_ROOT_DIR)/mk/spdk.common.mk

setup_cmd = python3 setup.py install
setup_cmd = pip install --prefix=$(CONFIG_PREFIX)
ifneq ($(DESTDIR),)
setup_cmd += --root $(DESTDIR)
endif

ifneq ($(CONFIG_PYDIR),)
setup_cmd += --install-purelib $(CONFIG_PYDIR)
purelibdir := $(CONFIG_PYDIR)
else
purelibdir := $(shell python3 -c "import sysconfig; print(sysconfig.get_paths()['purelib'])")
pylibdir := $(abspath $(shell python3 -c "import sysconfig; print(sysconfig.get_paths()['purelib'])"))
ifneq ($(CONFIG_PREFIX),)
pylibdir := $(pylibdir:/usr%=%)
pylibdir := $(pylibdir:/local%=%)
pylibdir := $(CONFIG_PREFIX)$(pylibdir)
endif

all:
@@ -24,8 +24,8 @@ all:
clean:

install: rpc spdkcli
	$(Q)$(setup_cmd)
	$(Q)rm -r spdk.egg-info
	$(Q)$(setup_cmd) $(SPDK_ROOT_DIR)/python
	rm -rf $(SPDK_ROOT_DIR)/python/spdk.egg-info

$(SPDK_ROOT_DIR)/build/bin/spdk_rpc:
	cp $(SPDK_ROOT_DIR)/scripts/rpc.py $(SPDK_ROOT_DIR)/build/bin/spdk_rpc
@@ -42,7 +42,7 @@ spdkcli: $(SPDK_ROOT_DIR)/build/bin/spdk_cli
	$(INSTALL_APP)

uninstall:
	$(Q)rm -r $(DESTDIR)/$(purelibdir)/spdk*
	$(Q)rm -rf $(DESTDIR)/$(pylibdir)/spdk*
	$(Q)rm -f $(DESTDIR)/$(bindir)/spdk_rpc
	$(Q)rm -f $(DESTDIR)/$(bindir)/spdk_cli

+1 −1
Original line number Diff line number Diff line
@@ -140,7 +140,7 @@ ln -s /usr/local/include %{buildroot}/usr/libexec/spdk
/etc/bash_completion.d/*
/usr/libexec/spdk/*
/usr/local/bin/*
%{python3_sitelib}/spdk*/*
/usr/local/lib/python%{python3_version}/site-packages/spdk*/*


%package devel