From 6d98caab2c4103cba53e6c601fc127990298ab56 Mon Sep 17 00:00:00 2001 From: Donald Stufft Date: Wed, 17 Dec 2014 20:49:13 -0500 Subject: Don't warn on empty non PEP 440 versions Empty versions which are not PEP 440 are more likely to be the fault of setuptools internals rather than anything a user has done so these warnings are needless spam in that situation. --- pkg_resources.py | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/pkg_resources.py b/pkg_resources.py index 5af4c869..f3ac6c50 100644 --- a/pkg_resources.py +++ b/pkg_resources.py @@ -2415,15 +2415,23 @@ class Distribution(object): self._parsed_version = parse_version(self.version) if isinstance( self._parsed_version, packaging.version.LegacyVersion): - warnings.warn( - "'%s (%s)' is being parsed as a legacy, non PEP 440, " - "version. You may find odd behavior and sort order. In " - "particular it will be sorted as less than 0.0. It is " - "recommend to migrate to PEP 440 compatible versions." % ( - self.project_name, self.version, - ), - RuntimeWarning, - ) + # While an empty version is techincally a legacy version and + # is not a valid PEP 440 version, it's also unlikely to + # actually come from someone and instead it is more likely that + # it comes from setuptools attempting to parse a filename and + # including it in the list. So for that we'll gate this warning + # on if the version is anything at all or not. + if self.version: + warnings.warn( + "'%s (%s)' is being parsed as a legacy, non PEP 440, " + "version. You may find odd behavior and sort order. " + "In particular it will be sorted as less than 0.0. It " + "is recommend to migrate to PEP 440 compatible " + "versions." % ( + self.project_name, self.version, + ), + RuntimeWarning, + ) return self._parsed_version -- cgit v1.2.3 From ae712b5b623c9541f09816d8926f474d503fec2d Mon Sep 17 00:00:00 2001 From: Donald Stufft Date: Wed, 17 Dec 2014 21:37:45 -0500 Subject: Upgrade packaging to 14.5 * Normalizes release candidates to 1.0rc1 instead of 1.0c1 --- setuptools/_vendor/packaging/__about__.py | 2 +- setuptools/_vendor/packaging/version.py | 74 +++++++++++++++---------------- setuptools/_vendor/vendored.txt | 2 +- 3 files changed, 39 insertions(+), 39 deletions(-) diff --git a/setuptools/_vendor/packaging/__about__.py b/setuptools/_vendor/packaging/__about__.py index d3e3dacf..d3e50f1e 100644 --- a/setuptools/_vendor/packaging/__about__.py +++ b/setuptools/_vendor/packaging/__about__.py @@ -22,7 +22,7 @@ __title__ = "packaging" __summary__ = "Core utilities for Python packages" __uri__ = "https://github.com/pypa/packaging" -__version__ = "14.4" +__version__ = "14.5" __author__ = "Donald Stufft" __email__ = "donald@stufft.io" diff --git a/setuptools/_vendor/packaging/version.py b/setuptools/_vendor/packaging/version.py index e76e9607..8d779a48 100644 --- a/setuptools/_vendor/packaging/version.py +++ b/setuptools/_vendor/packaging/version.py @@ -21,7 +21,7 @@ from ._structures import Infinity __all__ = [ - "parse", "Version", "LegacyVersion", "InvalidVersion", + "parse", "Version", "LegacyVersion", "InvalidVersion", "VERSION_PATTERN" ] @@ -156,44 +156,44 @@ def _legacy_cmpkey(version): return epoch, parts +# Deliberately not anchored to the start and end of the string, to make it +# easier for 3rd party code to reuse +VERSION_PATTERN = r""" + v? + (?: + (?:(?P[0-9]+)!)? # epoch + (?P[0-9]+(?:\.[0-9]+)*) # release segment + (?P
                                          # pre-release
+            [-_\.]?
+            (?P(a|b|c|rc|alpha|beta|pre|preview))
+            [-_\.]?
+            (?P[0-9]+)?
+        )?
+        (?P                                         # post release
+            (?:-(?P[0-9]+))
+            |
+            (?:
+                [-_\.]?
+                (?Ppost|rev|r)
+                [-_\.]?
+                (?P[0-9]+)?
+            )
+        )?
+        (?P                                          # dev release
+            [-_\.]?
+            (?Pdev)
+            [-_\.]?
+            (?P[0-9]+)?
+        )?
+    )
+    (?:\+(?P[a-z0-9]+(?:[-_\.][a-z0-9]+)*))?       # local version
+"""
+
 
 class Version(_BaseVersion):
 
     _regex = re.compile(
-        r"""
-        ^
-        \s*
-        v?
-        (?:
-            (?:(?P[0-9]+)!)?                           # epoch
-            (?P[0-9]+(?:\.[0-9]+)*)                  # release segment
-            (?P
                                          # pre-release
-                [-_\.]?
-                (?P(a|b|c|rc|alpha|beta|pre|preview))
-                [-_\.]?
-                (?P[0-9]+)?
-            )?
-            (?P                                         # post release
-                (?:-(?P[0-9]+))
-                |
-                (?:
-                    [-_\.]?
-                    (?Ppost|rev|r)
-                    [-_\.]?
-                    (?P[0-9]+)?
-                )
-            )?
-            (?P                                          # dev release
-                [-_\.]?
-                (?Pdev)
-                [-_\.]?
-                (?P[0-9]+)?
-            )?
-        )
-        (?:\+(?P[a-z0-9]+(?:[-_\.][a-z0-9]+)*))?       # local version
-        \s*
-        $
-        """,
+        r"^\s*" + VERSION_PATTERN + r"\s*$",
         re.VERBOSE | re.IGNORECASE,
     )
 
@@ -297,8 +297,8 @@ def _parse_letter_version(letter, number):
             letter = "a"
         elif letter == "beta":
             letter = "b"
-        elif letter in ["rc", "pre", "preview"]:
-            letter = "c"
+        elif letter in ["c", "pre", "preview"]:
+            letter = "rc"
 
         return letter, int(number)
     if not letter and number:
diff --git a/setuptools/_vendor/vendored.txt b/setuptools/_vendor/vendored.txt
index 576aa8db..723e026b 100644
--- a/setuptools/_vendor/vendored.txt
+++ b/setuptools/_vendor/vendored.txt
@@ -1 +1 @@
-packaging==14.4
+packaging==14.5
-- 
cgit v1.2.3


From 20eb01f0cac85e0f6a280a8127a872572a53ec9b Mon Sep 17 00:00:00 2001
From: Donald Stufft 
Date: Wed, 17 Dec 2014 20:52:37 -0500
Subject: Add a PEP440Warning to make it easier to silence these warnings

---
 pkg_resources.py | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/pkg_resources.py b/pkg_resources.py
index f3ac6c50..87fd2782 100644
--- a/pkg_resources.py
+++ b/pkg_resources.py
@@ -80,6 +80,13 @@ import setuptools._vendor.packaging.specifiers
 packaging = setuptools._vendor.packaging
 
 
+class PEP440Warning(RuntimeWarning):
+    """
+    Used when there is an issue with a version or specifier not complying with
+    PEP 440.
+    """
+
+
 class _SetuptoolsVersionMixin(object):
 
     def __hash__(self):
@@ -272,6 +279,9 @@ __all__ = [
     'ResolutionError', 'VersionConflict', 'DistributionNotFound',
     'UnknownExtra', 'ExtractionError',
 
+    # Warnings
+    'PEP440Warning',
+
     # Parsing functions and string utilities
     'parse_requirements', 'parse_version', 'safe_name', 'safe_version',
     'get_platform', 'compatible_platforms', 'yield_lines', 'split_sections',
@@ -2430,7 +2440,7 @@ class Distribution(object):
                         "versions." % (
                             self.project_name, self.version,
                         ),
-                        RuntimeWarning,
+                        PEP440Warning,
                     )
 
         return self._parsed_version
-- 
cgit v1.2.3


From 4b6dba7625e98aa92cf2d1491379f82d51b46756 Mon Sep 17 00:00:00 2001
From: "Jason R. Coombs" 
Date: Thu, 18 Dec 2014 08:37:56 -0500
Subject: Update changelog

---
 CHANGES.txt | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/CHANGES.txt b/CHANGES.txt
index ab8b703d..9b27f3ea 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,6 +2,16 @@
 CHANGES
 =======
 
+---
+8.1
+---
+
+* Upgrade ``packaging`` to 14.5, giving preference to "rc" as designator for
+  release candidates over "c".
+* PEP-440 warnings are now raised as their own class,
+  ``pkg_resources.PEP440Warning``, instead of RuntimeWarning.
+* Disabled warnings on empty versions.
+
 -----
 8.0.4
 -----
-- 
cgit v1.2.3


From 9b3f3650b5619c89ded823dc84edb0cbad713bc6 Mon Sep 17 00:00:00 2001
From: "Jason R. Coombs" 
Date: Thu, 18 Dec 2014 08:39:00 -0500
Subject: Bumped to 8.1 in preparation for next release.

---
 ez_setup.py           | 2 +-
 setuptools/version.py | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/ez_setup.py b/ez_setup.py
index 6c77135b..59cfada2 100644
--- a/ez_setup.py
+++ b/ez_setup.py
@@ -36,7 +36,7 @@ try:
 except ImportError:
     USER_SITE = None
 
-DEFAULT_VERSION = "8.0.5"
+DEFAULT_VERSION = "8.1"
 DEFAULT_URL = "https://pypi.python.org/packages/source/s/setuptools/"
 
 def _python_cmd(*args):
diff --git a/setuptools/version.py b/setuptools/version.py
index d9d36010..ab31fdd3 100644
--- a/setuptools/version.py
+++ b/setuptools/version.py
@@ -1 +1 @@
-__version__ = '8.0.5'
+__version__ = '8.1'
-- 
cgit v1.2.3


From 9069f7532d3d732ae5b4b5614ba524a20b075fa2 Mon Sep 17 00:00:00 2001
From: "Jason R. Coombs" 
Date: Thu, 18 Dec 2014 08:39:30 -0500
Subject: Added tag 8.1 for changeset 3f87370b6863

---
 .hgtags | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.hgtags b/.hgtags
index fe834e48..4ef0cc3d 100644
--- a/.hgtags
+++ b/.hgtags
@@ -166,3 +166,4 @@ d62bf4e407b3b9b5bedcc1396a9ba46f35571902 8.0.1
 1c03d512e39d5cfd711ae3ed7e316769f427e43b 8.0.2
 6c3467488123ce70b1dd009145a02f51fb78cdcc 8.0.3
 2c467afffe9fe1e14618b576fac6b4f7c412a61e 8.0.4
+3f87370b6863e5a4e831b394ef1a58e0e97a4336 8.1
-- 
cgit v1.2.3


From 123ac3c8a389d3b9168abbb901c6507282b27dc2 Mon Sep 17 00:00:00 2001
From: "Jason R. Coombs" 
Date: Thu, 18 Dec 2014 08:40:04 -0500
Subject: Bumped to 8.2 in preparation for next release.

---
 ez_setup.py           | 2 +-
 setuptools/version.py | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/ez_setup.py b/ez_setup.py
index 59cfada2..969a073a 100644
--- a/ez_setup.py
+++ b/ez_setup.py
@@ -36,7 +36,7 @@ try:
 except ImportError:
     USER_SITE = None
 
-DEFAULT_VERSION = "8.1"
+DEFAULT_VERSION = "8.2"
 DEFAULT_URL = "https://pypi.python.org/packages/source/s/setuptools/"
 
 def _python_cmd(*args):
diff --git a/setuptools/version.py b/setuptools/version.py
index ab31fdd3..ad8076ba 100644
--- a/setuptools/version.py
+++ b/setuptools/version.py
@@ -1 +1 @@
-__version__ = '8.1'
+__version__ = '8.2'
-- 
cgit v1.2.3