Previously get-pip.py was a hacky script that included compressed
base64 encoded pickled files that represented an installed pip. It
extracted these files into the temporary location and then executed
that unpacked pip in order to install pip and setuptools from PyPI.
This changes it so that get-pip.py is the bootstrap script and it
contains inside it a base64 encoded zipped copy of pip. It will
decode this base64 encoded zip file, write it to a temporary
location, and then add it to the sys.path. It will then run
the bootstrap function which will extract cacert.pem from the
zip file, write the cacert.pem to a temporary location, and
finally install pip using the copy of pip within the zip
using the temporary cacert.pem to validate the TLS connection to
PyPI.
This should represent no change in behavior for users of get-pip.py
however it should push the trouble of the bulk of the implementation
onto the Python install instead of trying to do this ourselves.
The one important behavior change for packagers is that this will
no longer package an *installed* pip, but will instead package the
version that has been checked out. I believe this is more obvious
and what a packager would expect to happen anyways.
Reran tests after changes on 2.4, 2.6, 3.2 all pass.
=====================================================
================== Running pep8 =====================
Searching for pep8
Reading http://pypi.python.org/simple/pep8/
Reading http://github.com/cburroughs/pep8.py/tree/master
Reading http://github.com/jcrocholl/pep8
Best match: pep8 0.6.1
Processing pep8-0.6.1-py2.6.egg
pep8 0.6.1 is already the active version in easy-install.pth
Installing pep8 script to /Users/pnasrat/Development/pip/pip_virtualenv/bin
Using /Users/pnasrat/Development/pip/pip_virtualenv/lib/python2.6/site-packages/pep8-0.6.1-py2.6.egg
Processing dependencies for pep8
Finished processing dependencies for pep8
==================== Ended pep8 =====================
=====================================================