[Python-modules-commits] [python-pip] 12/16: Prepare the 8.0.2-1 release.

Barry Warsaw barry at moszumanska.debian.org
Fri Jan 29 22:23:22 UTC 2016


This is an automated email from the git hooks/post-receive script.

barry pushed a commit to branch master
in repository python-pip.

commit 0f0ffd74f896868ec53ff17454a9487b9b7ae870
Author: Barry Warsaw <barry at python.org>
Date:   Fri Jan 29 16:54:51 2016 -0500

    Prepare the 8.0.2-1 release.
---
 debian/changelog              | 46 +++++++++++++++++------------
 debian/compat                 |  2 +-
 debian/control                | 69 ++++++++++++++++++++++++++++---------------
 debian/makepip.py             | 29 ++++++++++++++++++
 debian/python-pip-whl.install |  2 --
 debian/rules                  | 33 +++++++++++++++++----
 debian/tests/control          |  1 -
 7 files changed, 131 insertions(+), 51 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 41ba65a..dc9333b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,31 +1,39 @@
-python-pip (7.1.2-1) UNRELEASED; urgency=medium
-
-  * DO NOT RELEASE.  TODO:
-    - Finish up dirtbike and use it for rewheeling.
-    - File ITP and get progress 1.2 into Debian, or port to progressbar
-      which is already in Debian.
-    - Build python-ipaddress-whl or rewheel it package.
-    - File ITP and upload 15.2 into Debian
-    - Update Debian Python policy to name the new dependencies, all of
-      which must be installed as -whl.  -- or rewheel
-    - Pass `-m 'not network` to test suite
+python-pip (8.0.2-1) UNRELEASED; urgency=medium
+
   * New upstream release.
   * d/control:
-    - Change Depends for python-pip and python3-pip to require
-      python-pip-whl in all cases.  This fixes the problem where pip used
-      outside of a virtual environment can get broken by packages installed
-      into /usr/local.
+    - Update Build-Depends by removing packages only needed for the test
+      suite (which can't be run with upstream tarball), and adding all the
+      dependent packages which need rewheeling via dirtbike.
     - Update Homepage.
-  * d/rules: Use the upstream recommended way to devendorize.
+    - Bump minimum Python requirements to 2.7 and 3.4.
+    - Bump debhelper dependency to version 9.
+    - Add Built-Using to python-pip-whl
+    - Add appropriate Breaks/Replaces to python-pip-whl
+    - Remove old Depends from python-pip-whl
+    - Update Descriptions.
+    - wrap-and-sort -at
+  * d/makepip.py: A script containing the custom template for generating
+    the /usr/bin/pip* files.  This avoids calling pkg_resources before the
+    wheels are installed on sys.path.
   * d/patches:
-    - de-vendorize.patch, better-error-message.patch: No longer needed.
-    - Updated use-wheels.patch.
+    - debundle.patch: Renamed/combined, and also set the WHEEL_DIR.
     - hands-off-system-packages.patch: Renamed and updated.
+  * d/python-pip-whl.install: Removed.
+  * d/rules:
+    - Use the upstream recommended way to devendorize.
+    - Invoke dirtbike where needed to rewheel installed packages.
+    - Disable build-time unittests since upstream tarball does not contain
+      the necessary files.
+    - Use our own /usr/bin template to generate pip and pip3.  The
+      standard easy_install based console_scripts template calls
+      pkg_resources before the wheels are installed on sys.path.
+    - Update a few other overrides.
   * d/tests:
     - Add some DEP-8 smoketests.
   * d/watch: Use pypi.debian.net mirror.
 
- -- Barry Warsaw <barry at debian.org>  Thu, 30 Apr 2015 15:33:33 -0400
+ -- Barry Warsaw <barry at debian.org>  Fri, 29 Jan 2016 15:15:33 -0500
 
 python-pip (1.5.6-6) unstable; urgency=medium
 
diff --git a/debian/compat b/debian/compat
index 45a4fb7..ec63514 100644
--- a/debian/compat
+++ b/debian/compat
@@ -1 +1 @@
-8
+9
diff --git a/debian/control b/debian/control
index edddc57..0b5dd6b 100644
--- a/debian/control
+++ b/debian/control
@@ -4,26 +4,37 @@ Priority: optional
 Maintainer: Debian Python Modules Team <python-modules-team at lists.alioth.debian.org>
 Uploaders: Barry Warsaw <barry at debian.org>,
            Carl Chenet <chaica at debian.org>,
-           Jeff Licquia <licquia at debian.org>
+           Jeff Licquia <licquia at debian.org>,
 Homepage: https://pip.pypa.io/en/stable/
-Build-Depends: debhelper (>= 8),
+Build-Depends: debhelper (>= 9),
                dh-python,
-               python-all (>= 2.6),
+               dirtbike,
+               python-all (>= 2.7),
                python-docutils,
-               python-mock,
-               python-pytest,
-               python-scripttest,
+               python-ipaddress,
                python-setuptools,
-               python-virtualenv,
                python3-all,
+               python3-cachecontrol,
+               python3-chardet,
+               python3-colorama,
+               python3-distlib,
+               python3-html5lib,
+               python3-lockfile,
                python3-mock,
+               python3-packaging,
+               python3-pkg-resources,
+               python3-progress,
                python3-pytest,
+               python3-requests,
+               python3-retrying,
                python3-scripttest,
                python3-setuptools,
-               python3-wheel
+               python3-six,
+               python3-urllib3,
+               python3-wheel,
 Standards-Version: 3.9.6
-X-Python-Version: >= 2.6
-X-Python3-Version: >= 3.2
+X-Python-Version: >= 2.7
+X-Python3-Version: >= 3.4
 Vcs-Git: git://anonscm.debian.org/python-modules/packages/python-pip.git
 Vcs-Browser: http://anonscm.debian.org/cgit/python-modules/packages/python-pip.git
 
@@ -32,8 +43,10 @@ Architecture: all
 Depends: ca-certificates,
          python-pip-whl,
          ${misc:Depends},
-         ${python:Depends}
-Recommends: build-essential, python-dev-all (>= 2.6), python-wheel
+         ${python:Depends},
+Recommends: build-essential,
+            python-dev-all (>= 2.6),
+            python-wheel,
 Description: alternative Python package installer
  pip is a replacement for easy_install, and is intended to be an improved
  Python package installer.  It integrates with virtualenv, doesn't do partial
@@ -45,8 +58,10 @@ Architecture: all
 Depends: ca-certificates,
          python-pip-whl,
          ${misc:Depends},
-         ${python3:Depends}
-Recommends: build-essential, python3-dev (>= 3.2), python3-wheel
+         ${python3:Depends},
+Recommends: build-essential,
+            python3-dev (>= 3.2),
+            python3-wheel,
 Description: alternative Python package installer - Python 3 version of the package
  pip is a replacement for easy_install, and is intended to be an improved
  Python package installer.  It integrates with virtualenv, doesn't do partial
@@ -57,15 +72,23 @@ Description: alternative Python package installer - Python 3 version of the pack
 
 Package: python-pip-whl
 Architecture: all
-Depends: python-chardet-whl,
-         python-colorama-whl,
-         python-distlib-whl,
-         python-html5lib-whl,
-         python-requests-whl,
-         python-setuptools-whl,
-         python-six-whl,
-         python-urllib3-whl,
-         ${misc:Depends}
+Depends: ${misc:Depends},
+Breaks: python-chardet-whl (>= 2.3.0-1),
+        python-colorama-whl (>= 0.3.3-1),
+        python-distlib-whl (>= 0.2.1-2),
+        python-html5lib-whl (>= 0.999-3),
+        python-requests-whl (>= 2.9.1-2),
+        python-setuptools-whl (>= 18.8-1),
+        python-six-whl (>= 1.10.0-2),
+        python-urllib3-whl (>= 1.13.1-1),
+Replaces: python-chardet-whl (>= 2.3.0-1),
+          python-colorama-whl (>= 0.3.3-1),
+          python-distlib-whl (>= 0.2.1-2),
+          python-html5lib-whl (>= 0.999-3),
+          python-requests-whl (>= 2.9.1-2),
+          python-setuptools-whl (>= 18.8-1),
+          python-six-whl (>= 1.10.0-2),
+          python-urllib3-whl (>= 1.13.1-1),
 Description: alternative Python package installer
  pip is a replacement for easy_install, and is intended to be an improved
  Python package installer.  It integrates with virtualenv, doesn't do partial
diff --git a/debian/makepip.py b/debian/makepip.py
new file mode 100644
index 0000000..10397bb
--- /dev/null
+++ b/debian/makepip.py
@@ -0,0 +1,29 @@
+"""Make the /usr/bin/pip* scripts which honor the distro wheels."""
+
+TEMPLATE = """\
+#!{shebang}
+# GENERATED BY DEBIAN ON {date} UTC
+
+import sys
+
+# Run the main entry point, similarly to how setuptools does it, but because
+# we didn't install the actual entry point from setup.py, don't use the
+# pkg_resources API.
+from pip import main
+if __name__ == '__main__':
+    sys.exit(main())
+"""
+
+# This is a one-off script, so just do stupid simple argument parsing.
+
+import sys
+from datetime import datetime
+
+substitutions = dict(
+    shebang=sys.argv[1],
+    date=str(datetime.utcnow().replace(microsecond=0)),
+    )
+
+output_file = sys.argv[2]
+with open(output_file, 'w', encoding='utf-8') as fp:
+    print(TEMPLATE.format(**substitutions), end='', file=fp)
diff --git a/debian/python-pip-whl.install b/debian/python-pip-whl.install
deleted file mode 100644
index b6c795b..0000000
--- a/debian/python-pip-whl.install
+++ /dev/null
@@ -1,2 +0,0 @@
-debian/pip.dependencies usr/share/python-wheels
-usr/share/python-wheels
diff --git a/debian/rules b/debian/rules
index e8227bc..a8b3620 100755
--- a/debian/rules
+++ b/debian/rules
@@ -5,6 +5,8 @@ export PYBUILD_VERBOSE=1
 export DH_VERBOSE=1
 
 export PIP_NO_VENDOR_FOR_DOWNSTREAM=1
+export DIRTBIKE_DIRECTORY=\
+    $(CURDIR)/debian/python-pip-whl/usr/share/python-wheels
 
 %:
 	dh $@ --with python2,python3 --buildsystem=pybuild
@@ -19,31 +21,52 @@ override_dh_auto_build:
 		-exec rm -rf {} \;
 	dh_auto_build
 
+# Upstream does not bundle enough of the source tree in the tarball to run the
+# test suite.  https://github.com/pypa/pip/issues/3370
+override_dh_auto_test:
+
 override_dh_python3:
 	dh_python3
 	rm -f debian/python3-pip/usr/bin/pip
 	rm -f debian/python3-pip/usr/bin/pip3.?
 	rm -rf debian/python3-pip/usr/lib/python3.?
+	python3 debian/makepip.py /usr/bin/python3 \
+		debian/python3-pip/usr/bin/pip3
 
 override_dh_python2:
 	dh_python2
 	rm -f debian/python-pip/usr/bin/pip2.?
+	python3 debian/makepip.py /usr/bin/python2 \
+		debian/python-pip/usr/bin/pip
 
 override_dh_auto_install:
 	dh_auto_install
-	mkdir -p $(CURDIR)/debian/tmp/usr/share/python-wheels
-	python3 setup.py bdist_wheel \
-		--universal \
-		-d $(CURDIR)/debian/tmp/usr/share/python-wheels
+	mkdir -p $(CURDIR)/debian/python-pip-whl/usr/share/python-wheels
+	dirtbike CacheControl
+	dirtbike chardet
+	dirtbike colorama
+	dirtbike distlib
+	dirtbike html5lib
+	dirtbike ipaddress
+	dirtbike lockfile
+	dirtbike packaging
+	dirtbike pkg_resources
+	dirtbike progress
+	dirtbike requests
+	dirtbike retrying
+	dirtbike setuptools
+	dirtbike six
+	dirtbike urllib3
 
 override_dh_installchangelogs:
 	dh_installchangelogs CHANGES.txt
 
 override_dh_installman:
+	mkdir -p debian/tmp
 	rst2man debian/pip-manpage.rst > debian/tmp/pip.man
 	rst2man debian/pip-manpage.rst > debian/tmp/pip3.man
 	dh_installman
 
 override_dh_clean:
 	dh_clean
-	rm -rf debian/tmp/usr/share/python-wheels
+	rm -rf debian/tmp
diff --git a/debian/tests/control b/debian/tests/control
index 70c0384..5f1f389 100644
--- a/debian/tests/control
+++ b/debian/tests/control
@@ -1,4 +1,3 @@
 Test-Command: pip install flufl.lock
 
 Test-Command: pip3 install flufl.lock
-

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-pip.git



More information about the Python-modules-commits mailing list