python-pip: revamp installation procedure (use setuptools machinery)

PIP's installation procedure was too complicated, requiring obscure
postinstall and prerm scripts to move files created by setup procedure.
But since setuptools is required anyway, it's better to use a special
flag created for the purpose of package creation. Resulting directory
structure is flatter and unnecessary files that had to be moved by
prerm/postinstall scripts are not created anymore.

Signed-off-by: Jan Čermák <jan.cermak@nic.cz>
This commit is contained in:
Jan Čermák 2015-08-18 12:55:39 +02:00
parent baabb368f7
commit f83cf7b663

View file

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-pip PKG_NAME:=python-pip
PKG_VERSION:=7.1.0 PKG_VERSION:=7.1.0
PKG_RELEASE:=1 PKG_RELEASE:=2
PKG_SOURCE:=pip-$(PKG_VERSION).tar.gz PKG_SOURCE:=pip-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://pypi.python.org/packages/source/p/pip/ PKG_SOURCE_URL:=https://pypi.python.org/packages/source/p/pip/
@ -36,34 +36,14 @@ endef
define Build/Compile define Build/Compile
$(call Build/Compile/PyMod,,\ $(call Build/Compile/PyMod,,\
install --prefix="$(PKG_INSTALL_DIR)/usr" \ install --root="$(PKG_INSTALL_DIR)" --prefix="/usr" \
--single-version-externally-managed \
) )
endef endef
PYTHON_PIP_PKG_DIR:=$(PYTHON_PKG_DIR)/pip-$(PKG_VERSION)-py$(PYTHON_VERSION).egg/pip
define PyPackage/python-pip/filespec define PyPackage/python-pip/filespec
+|$(PYTHON_PKG_DIR) +|$(PYTHON_PKG_DIR)
-|$(PYTHON_PIP_PKG_DIR)/_vendor/distlib/*.exe -|$(PYTHON_PKG_DIR)/pip/_vendor/distlib/*.exe
endef
# Backup these files, so that they do not clash with python-setuptools
# If we install python-pip python-setuptools, we want these to be replaced,
# since python-pip replaces python-setuptools (when installed)
define Package/python-pip/preinst
#!/bin/sh
cd "$${IPKG_INSTROOT}$(PYTHON_PKG_DIR)"
mv -f easy-install.pth easy-install.pth.old
mv -f site.py site.py.old
exit 0
endef
# And put them back on remove
define Package/python-pip/postrm
#!/bin/sh
cd "$${IPKG_INSTROOT}$(PYTHON_PKG_DIR)"
mv -f easy-install.pth.old easy-install.pth
mv -f site.py.old site.py
exit 0
endef endef
define PyPackage/python-pip/install define PyPackage/python-pip/install