python-pip: revamp installation procedure (use setuptools machinery) 1664/head
authorJan Čermák <jan.cermak@nic.cz>
Tue, 18 Aug 2015 10:55:39 +0000 (12:55 +0200)
committerJan Čermák <jan.cermak@nic.cz>
Tue, 18 Aug 2015 10:55:39 +0000 (12:55 +0200)
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>
lang/python-pip/Makefile

index 40f11402c11f41c7afd79ae350c1c583bb9743c5..f0b8682952d89f61e591f05872dbb3920e91c171 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-pip
 PKG_VERSION:=7.1.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=pip-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://pypi.python.org/packages/source/p/pip/
@@ -36,34 +36,14 @@ endef
 
 define Build/Compile
        $(call Build/Compile/PyMod,,\
-               install --prefix="$(PKG_INSTALL_DIR)/usr" \
+               install --root="$(PKG_INSTALL_DIR)" --prefix="/usr" \
+               --single-version-externally-managed \
        )
 endef
 
-PYTHON_PIP_PKG_DIR:=$(PYTHON_PKG_DIR)/pip-$(PKG_VERSION)-py$(PYTHON_VERSION).egg/pip
 define PyPackage/python-pip/filespec
 +|$(PYTHON_PKG_DIR)
--|$(PYTHON_PIP_PKG_DIR)/_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
+-|$(PYTHON_PKG_DIR)/pip/_vendor/distlib/*.exe
 endef
 
 define PyPackage/python-pip/install