1
1
Fork 0
mirror of https://github.com/pypa/pip synced 2023-12-13 21:30:23 +01:00
Commit graph

769 commits

Author SHA1 Message Date
Marcus Smith fd99bd35a7 remove unnecessary patches since setuptools-0.8 will be py2/3 compatible 2013-06-19 17:24:10 -07:00
Marcus Smith 1a182cb819 force setuptools>=0.7.2 to uninstall distribute 2013-06-19 17:08:32 -07:00
Marcus Smith 81639adbdf revert distribute skip in py3 (commit fe09baa1a2) 2013-06-19 17:08:32 -07:00
Marcus Smith f6bde1eff5 solution for uprading to setuptools-0.7.2 in py2 & py3 2013-06-19 17:08:31 -07:00
Marcus Smith e0e19cc831 Merge pull request #1003 from qwcode/test_new_setuptools
support the new setuptools
2013-06-19 16:53:39 -07:00
Marcus Smith c26b6de897 py3 sort fix 2013-06-19 15:53:53 -07:00
david 267c79df2e Fix #982 by using the effective user id on unix systems instead of depending on
getpass.getuser(). This is required because on some systems 'LOGNAME'
is not updated by sudo.
Signed-off-by: david <db@d1b.org>
2013-06-15 13:17:45 +10:00
Marcus Smith ff1a79381a test changes due to virtualenv not using distribute 2013-06-13 22:43:26 -07:00
Marcus Smith 72f0ec9419 wheel is also supported now with setuptools>=0.7.2 2013-06-13 22:04:05 -07:00
Donald Stufft a1341376d2 Enable --no-allow-insecure inside of a requirements.txt 2013-06-07 10:43:52 -04:00
Donald Stufft fb24b3eaaa Change --allow-external to work per project and add --allow-all-external 2013-06-07 10:43:52 -04:00
Donald Stufft d3638aa7a0 Change wording from "unsafe" to "insecure" 2013-06-07 10:43:52 -04:00
Donald Stufft 2731f06474 Default to allowing unsafe urls and allow disabling them via option 2013-06-07 10:43:52 -04:00
Donald Stufft cc46cdc8b3 Differentiate between safe and unsafe urls where possible
* Links and HTMLPages know if they are "trusted"
* File Links know if they are safe or not
* A "Safe" file Link comes from a trusted Link/HTMLPage and has
  a hash allowing verification of the download
* Adds a --allow-unsafe PACKAGE argument to allow unsafe files on
  a per package basis
* Optimizes scraping external sites by short circuiting if
  the current trust rules won't allow using it's files anyways
2013-06-07 10:43:52 -04:00
Donald Stufft 9ccd5f0bb3 In accordance with PEP438 default to allowing external urls
* After one release has been made allowing external urls, future
  releases will disallow by default
2013-06-07 10:42:55 -04:00
Donald Stufft 0e1da584f4 Differentiate between internal and external links where possible
* By default ignore external links
* Add the ``--allow-external`` flag that enables external links
  globally
* Fallback to allowing all links if we cannot determine the
  API version of the parsed page
* Inform the user of ``--allow-external`` if nothing was found
  to install
2013-06-07 10:42:55 -04:00
Donald Stufft 75cef55df7 Do a check prior to returning HTMLPage that it is indeed html
Previously pip would check with a HEAD request if the url looked
like it contained an archive and skip the file. However this didn't
work if the url didn't look like an archive and instead just
redirected to an archive.

This will therefore, after the url has been fetched, inspect the
headers and look to see if the Content-Type is text/html.
2013-06-07 08:42:49 -04:00
Marcus Smith 60f8da5c41 4 more wheel tests 2013-06-06 19:11:43 -07:00
Donald Stufft 8344fb8d4e Merge pull request #973 from pypa/parse-html
Use html5lib to parse HTML instead of using regexs
2013-06-05 11:51:41 -07:00
Donald Stufft be0c47f7aa Merge remote-tracking branch 'skwash/develop' into develop
Conflicts:
	pip/download.py
2013-06-02 22:31:14 -04:00
Donald Stufft d76739559b Rewrite six dependency to import from pip.vendor.six instead of six
* It was determined that simply rewriting the imports was less
  invasive than patching sys.modules.
2013-06-02 20:07:10 -04:00
Donald Stufft f350de4b74 Document the reasons why we are monkeypatching six into sys.modules 2013-06-02 11:31:50 -04:00
Donald Stufft 2eb43b25ab Use html5lib to parse HTML instead of using regexs
HTML is not a regular language and thus cannot be accurately parsed
with a regex. The regexs that pip had were gnarly, and required
multiple levels of them in order to "work".

Using html5lib instead of regexs makes the parsing step simpler,
better tested, and much more robust.

There is still some use of regex to parse html. Namely the hack
that looks for a <th> tag with a "rel" after it. This hack is
required to work inside of HTML comments so it cannot be parsed
as HTML.
2013-06-02 10:01:40 -04:00
Donald Stufft cba45215b9 Vendor html5lib because regex are a terrible way to parse html 2013-06-02 09:01:43 -04:00
Carl Meyer 9b92e4d786 Don't copy to cache when we've already got a cached copy. 2013-05-30 18:25:19 -06:00
Carl Meyer 4b55015c29 Fix guessing content-type for already-downloaded file. 2013-05-30 18:25:19 -06:00
Carl Meyer 55c766dacb Better interaction between already-downloaded and already-cached. 2013-05-30 17:00:10 -06:00
Carl Meyer b3a791223c Cached or already-downloaded files with bad hashes are ignored. 2013-05-30 17:00:10 -06:00
Carl Meyer 388d1b53a7 Refactor unpack_http_url. 2013-05-30 16:59:57 -06:00
Carl Meyer fa81a41d0b Combine Git get_tag_revs and get_branch_revs into single get_refs method. 2013-05-29 16:40:34 -06:00
Carl Meyer 92e0dbbf4c Use git show-ref instead of git branch for better future-proofness.
Based on original patch by Anrs Hu.
2013-05-29 14:03:26 -06:00
Marcus Smith 28234e29d5 'pip search' xmlrpc changes in response to pypi changes, http://mail.python.org/pipermail/distutils-sig/2013-May/020888.html 2013-05-28 20:34:25 -07:00
Marcus Smith 6fd5e0eb7a --no-clean for 'pip wheel' 2013-05-24 17:11:15 -07:00
Marcus Smith 41fed83353 remove 'pip wheel --unpack-only' 2013-05-24 15:59:28 -07:00
Marcus Smith 7467f44abd have cleanup be in a finally after wheel building 2013-05-24 15:57:43 -07:00
Daniel Holth 460ced0374 wheel: make sure destination path exists 2013-05-23 22:42:03 -04:00
Marcus Smith 6042140a89 Merge pull request #948 from qwcode/global_build_cleanup
write pip delete marker into global build dir upon creation
2013-05-18 19:50:02 -07:00
Marcus Smith 66d8e7b8c7 write pip delete marker into global build dir upon creation 2013-05-18 18:05:25 -07:00
Marcus Smith 0994c1252d Merge pull request #937 from qwcode/ignore_reqs
don't install or build wheels for distribute in python 3
2013-05-16 20:47:06 -07:00
Marcus Smith fe09baa1a2 don't install or build wheels for distribute in python3 2013-05-16 19:53:48 -07:00
Marcus Smith be6ba96479 add missing PermissionError import 2013-05-07 20:46:26 -07:00
Marcus Smith c721a735b5 wheel finder priority based on supported_tags order 2013-05-02 15:28:32 -07:00
Marcus Smith 3a1847cd53 PreviousBuildDirError logging and test fix 2013-04-30 15:30:15 -07:00
Josh Hansen 16bea23c31 Display hashdigest instead of hash object upon failure. 2013-04-24 10:56:37 -07:00
Donald Stufft 74fa3e2707 Assume versions are a pre-release if we cannot parse them
* The most likely unparseable version is something like "dev" or
  "py6-dev" etc. The number of sane version numbers that are
  not normalizable and should be conisdered stable are fairly low.
2013-04-23 09:06:06 -04:00
Marcus Smith dc70d49780 pep8 comment fix 2013-04-20 11:34:47 -07:00
Marcus Smith 2c14940a6f deal with pre-existing build dirs 2013-04-20 11:24:43 -07:00
Marcus Smith acc917269a Merge pull request #903 from qwcode/home_lib
improve method for getting home scheme purelib
2013-04-19 18:38:12 -07:00
Erik M. Bray 8e2c64ca4f 'irregardless', if it's a word at all, means the opposite of how it's meant here. 2013-04-19 17:30:56 -04:00
Donald Stufft 115ad13abd Remove commented out code that was mistakenly left in 2013-04-19 10:54:33 -04:00
Marcus Smith fd933a93dd improve method for getting home scheme purelib 2013-04-18 22:38:56 -07:00
Donald Stufft 709a390043 Add a User Agent so that pip is identifiable in logs 2013-04-18 21:22:37 -04:00
Marcus Smith 6e2bfe8323 remove python 2.5 logic 2013-04-17 22:50:22 -07:00
Gabriel e46ad648e8 get-pip.py: accept cli flags 2013-04-15 19:57:06 +02:00
Marcus Smith 868f63bbf5 merge 1.3.X for proxy fix 2013-04-11 18:05:52 -07:00
Paul Moore 4ac9406eb8 Merge pull request #887 from pnasrat/update-distlib
Update vendored distlib to 0.1.1
2013-04-07 11:50:29 -07:00
Paul Nasrat ee41f83a91 Update vendored distlib to 0.1.1
This includes a fix for shebang handling on Windows.
2013-04-07 13:21:56 -04:00
Paul Nasrat 5256d573fd Merge pull request #874 from hltbra/remote-reqs-py3-pull-request
Fix issue #760: broken external requirements on Python 3
2013-04-07 07:36:39 -07:00
Marcus Smith f1fb4b4fda wheel requirement checks with tests 2013-04-05 14:21:11 -07:00
Daniel Holth cf095c0c8f spurious file 2013-04-05 11:16:03 -07:00
Daniel Holth 0ea48dcf5a check for proper distribute when using wheels 2013-04-05 11:16:03 -07:00
Marcus Smith c9d3ee59f0 update usage patterns for 'pip wheel' 2013-04-05 11:02:15 -07:00
Hugo Lopes Tavares bbed75e71a Tweak variable name at backwardcompat.get_http_message_param (python 2 version) 2013-03-30 14:31:36 -03:00
Hugo Lopes Tavares 274c4bd8d1 Move python3/python2 details from `download.get_file_content` to backwardcompat module 2013-03-29 13:29:11 -03:00
Gabriel 26fd6225e4 Decode downloaded contents.
Also add a test (the exact url depends on pulling a change to pip-test-package).
2013-03-28 18:32:45 +01:00
Hugo Lopes Tavares 1dcfb3f5dd Fix issue #32: pip crashes when server does not send content-type header
Thanks Kelsey Hightower for pointing what to change.
2013-03-27 22:28:21 -03:00
Marcus Smith 494e1759d4 wheel doc updates 2013-03-17 19:58:32 -07:00
Marcus Smith 07c48ea657 set the help order of 'wheel' 2013-03-15 23:58:27 -07:00
Marcus Smith 13b023e530 move wheel help to class doc string 2013-03-15 23:56:46 -07:00
Marcus Smith 00fa9bea96 merge with develop 2013-03-15 23:46:46 -07:00
Marcus Smith 60b0401b0a fix proxy support 2013-03-12 14:20:23 -07:00
Donald Stufft bc30d0c080 Remove extraneous nested distlib 2013-03-12 08:52:34 -04:00
Donald Stufft 8a3d6d8420 Update the pip.vendor Makefile to properly delete vendored items 2013-03-12 08:51:59 -04:00
Marcus Smith e4b5d3d75e update docs and help for new pre-release logic 2013-03-11 21:56:36 -07:00
Donald Stufft 9936d6b424 Switch to using a fully vendored distlib inside of pip.vendor
* Includes helper scripts to maintaing pip.vendor
2013-03-09 14:36:16 -05:00
Donald Stufft 4d5c5f8f97 Only install stable releases by default
* Adds the --pre flag to pip install to specify that you wish
  to install pre-releases
* If the version spec contains any pre-releases then continue to
  install pre-releases
2013-03-09 10:27:19 -05:00
Jannis Leidel 74e43cbd6c Merge branch '1.3.X' into develop
Conflicts:
	pip/__init__.py
2013-03-08 00:18:17 +01:00
Jannis Leidel 7921be1537 Bumped version to 1.3.1. 2013-03-08 00:11:41 +01:00
Jannis Leidel 06e65d826a Revert "Update method description to match expected behaviour."
This reverts commit 6a483a3778.
2013-03-08 00:09:05 +01:00
Jannis Leidel a3584d1766 Revert "Explicitly ignore rel='download' links while looking for html pages."
This reverts commit 0bb9c31aea.
2013-03-08 00:08:51 +01:00
Jannis Leidel de8738fe40 Bumped version to 1.3. 2013-03-07 22:15:22 +01:00
Marcus Smith 19ffd7eab3 merge 1.3.X 2013-03-05 22:11:47 -08:00
Marcus Smith 7962d3f79a 1.3rc2 2013-03-05 15:04:28 -08:00
Marcus Smith ca88095579 PermissionError is new in Py33 2013-03-03 22:55:54 -08:00
Marcus Smith 72812c52ff close socket upon CertificateError 2013-03-03 22:38:37 -08:00
Marcus Smith 725f1a1683 merge 1.3.X 2013-03-01 11:15:00 -08:00
Marcus Smith 50e2662bb4 ssl errors should show by default w/o -v 2013-03-01 11:07:29 -08:00
Marcus Smith bcaf5d0ad1 merge 1.3.X 2013-02-21 22:19:05 -08:00
Marcus Smith 0ed73a03c5 os.path.realpath for build_prefix globally and in virtualenvs 2013-02-21 21:36:26 -08:00
Marcus Smith 9756714d63 1.4.dev1 2013-02-20 19:29:54 -08:00
Marcus Smith fa1b292f32 1.3rc1 2013-02-20 19:09:05 -08:00
Marcus Smith cf3a5619b0 fix mirror url parsing and add tests 2013-02-19 11:49:19 -08:00
Marcus Smith d6bb9a54e7 add TODO about options passing 2013-02-18 19:38:26 -08:00
Marcus Smith 889e1a02b8 custom NoSSLError exception instead of util function 2013-02-18 13:17:54 -08:00
Marcus Smith 2cbc7fadcd improve ssl exception text and docs 2013-02-18 00:30:05 -08:00
Marcus Smith 039e1fc1ed have 'pip search' use https index url 2013-02-17 22:49:40 -08:00
Marcus Smith 4a4a141c21 from --allow-no-ssl to --insecure 2013-02-17 22:43:17 -08:00
Marcus Smith 559d77addc from --cert-path to --cert 2013-02-17 22:17:59 -08:00
Marcus Smith e3f1ce825b proper list indents 2013-02-17 22:00:57 -08:00
Marcus Smith c4753b2003 add missing sys import 2013-02-17 21:51:13 -08:00
Marcus Smith 1857ece79b fix import syntax 2013-02-16 15:40:43 -08:00
Marcus Smith b2a17e56cd remove old cert from pem file 2013-02-16 15:40:22 -08:00
Marcus Smith 22bf924b52 merge with develop 2013-02-16 14:17:22 -08:00
Marcus Smith f00b015d73 cli help formatting fixes 2013-02-16 12:51:57 -08:00
Jannis Leidel 8a4458bf56 Fixed a whole bunch of cosmetic problems, mostly to adhere to PEP8. 2013-02-16 19:02:41 +01:00
Jannis Leidel 7db3d03e1a Moved the command description into the command class docstring to follow Python best practices. 2013-02-16 19:00:29 +01:00
Marcus Smith 809a9962c1 clear up connection compatibility logic 2013-02-15 20:03:13 -08:00
Marcus Smith d0c3138fbf merge with develop 2013-02-15 17:11:17 -08:00
Jonas Nockert 5ae29b6f61 Corrected a few typos 2013-02-14 20:28:27 +01:00
socketubs 68353cbc5a list command now show ascending ordered list 2013-02-12 18:16:11 +01:00
Georgi Valkov 42919f9913 manual sorting of commands and summaries
commands.get_summaries() will now yield instead of returning a list.
2013-02-12 23:23:40 +02:00
Marcus Smith 84f8134900 remove HTTPHandler explictly 2013-02-10 23:14:05 -08:00
Marcus Smith 1cf1a7e595 refactor pip.backwardcompat from module to package 2013-02-10 22:02:11 -08:00
Marcus Smith 83d8b3756b only show --allow-no-ssl when no ssl 2013-02-10 01:30:24 -08:00
Marcus Smith 76b5ebcd48 use the more common phrase 'CA bundle' 2013-02-10 01:15:40 -08:00
Marcus Smith f92052fd66 py25 socket patch to work with ssl backport 2013-02-09 01:31:27 -08:00
Marcus Smith 857f64e065 latest mozilla ca certs aquired securely and generated to pem form 2013-02-08 23:38:32 -08:00
Marcus Smith bb7ba1aea4 shorter metavar for --cert-path 2013-02-08 22:47:39 -08:00
Marcus Smith 609cfe94a1 remove duplicate backwardcompat imports and excess logic 2013-02-07 22:40:30 -08:00
Marcus Smith fe17bb4d75 OpenerDirector for ssl should not contain the default http handler 2013-02-07 22:18:40 -08:00
Marcus Smith 456ea8087a fix param name in exception message 2013-02-07 22:17:52 -08:00
Marcus Smith 84964064a3 --cert-path and --no-ssl options 2013-02-06 23:27:53 -08:00
Marcus Smith a4a9197e7e py25 import fixes 2013-02-06 02:08:23 -08:00
Marcus Smith b2e0b6dfb0 log relevant message if URLError.reason is SSLError or CertificateError 2013-02-06 01:48:28 -08:00
Marcus Smith 7e20fd83a2 move cert_path to locations module 2013-02-06 00:55:17 -08:00
Marcus Smith 4bb5ac62b9 use standard opener when no ssl 2013-02-06 00:51:58 -08:00
Marcus Smith 73c46148cb backwardcompat logic for ssl and match_hostname 2013-02-06 00:48:09 -08:00
Marcus Smith c612db0ae4 match_hostname from py32 2013-02-06 00:47:41 -08:00
Marcus Smith 11ebe011dc warn before installing if no ssl module 2013-02-06 00:47:01 -08:00
James Cleveland d54c695230 Adding code to match_hostname. 2013-02-04 22:08:56 +00:00
James Cleveland 246e974b22 Added certificate validation against root CA file.
Credits to Joseph Turner for this code:

http://thejosephturner.com/blog/2011/03/19/https-certificate-verification-in-python-with-urllib2/

And also to Kenneth Reitz for the CA dump (with addition of
CAcert.org chain because that's what PyPI uses).

Which, combined with pip, enables us to go a step towards
validated SSL and reducing the impact of MITM attacks.
2013-02-04 20:34:14 +00:00
James Cleveland b9ea089323 Changing the default index URL to use HTTPS. 2013-02-04 19:35:35 +00:00
Marcus Smith 354a75033c wheel doc update 2013-02-02 23:18:40 -08:00
Marcus Smith 8659f3d6ab wheel cli fixes 2013-02-02 22:56:32 -08:00
Marcus Smith cabd1d5f80 merge with pypa/pip/develop 2013-02-02 22:40:30 -08:00
Marcus Smith 103db0d62d docs and cli error text updates 2013-01-30 20:59:44 -08:00
Marcus Smith 68d983d69a update docs with new build dir 2013-01-25 23:08:29 -08:00
David dc3a359671 In the os.open call to get the fd to check if the user specific build directory
is in fact owned by another user - add the os.O_NOFOLLOW flag to not follow symbolic links.

Signed-off-by: David <db@d1b.org>
2013-01-25 23:12:24 +11:00
David 61c444e491 Update the code _get_build_prefix to raise an exception instead of sys.exit()'ing and also document that on windows user temp directories are already isolated.
Signed-off-by: David <db@d1b.org>
2013-01-25 23:12:24 +11:00
David e7bf29e239 Clean up the _get_build_prefix code - close the open fd and print the error message if the fd could not be opened (denied).
Signed-off-by: David <db@d1b.org>
2013-01-25 23:12:23 +11:00
David eeaa64d25d Fix #725 and #729.
Signed-off-by: David <db@d1b.org>
2013-01-25 23:12:23 +11:00
Marcus Smith 0e7c239cfb another case for our shutil.rmtree onerror function 2013-01-22 00:42:18 -08:00
Marcus Smith ab9ea197bd improved docs and cli help 2013-01-18 13:25:15 -08:00
Marcus Smith e76ae0821c using realpath since tmp dirs on OSX can be symlinks 2013-01-15 23:18:23 -08:00
Marcus Smith 1ea772f51d revert xdg compliance 2012-12-27 09:51:14 -08:00
Marcus Smith 89a69a016a sort subcommand completion 2012-12-24 21:58:44 -08:00
Marcus Smith c49f7e0fb2 from '--editables' to --editable' and some minor formatting 2012-12-19 22:08:56 -08:00
Marcus Smith 8a2d220fff get_installed_distributions docstring update 2012-12-17 22:02:01 -08:00
Marcus Smith aeecefcd22 use editable logic in FrozenRequirement 2012-12-17 21:55:59 -08:00
Marcus Smith b6d775780b shared options and groups 2012-12-17 21:35:09 -08:00