Hello community,
here is the log from the commit of package python3-setuptools for openSUSE:Factory checked in at 2015-12-23 09:57:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-setuptools (Old)
and /work/SRC/openSUSE:Factory/.python3-setuptools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-setuptools"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-setuptools/python3-setuptools.changes 2015-12-16 17:42:04.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3-setuptools.new/python3-setuptools.changes 2015-12-23 09:57:18.000000000 +0100
@@ -1,0 +2,20 @@
+Mon Dec 21 19:19:56 UTC 2015 - arun@gmx.de
+
+- update to version 19.1.1:
+ * Issue #476: Cast version to string (using default encoding) to
+ avoid creating Unicode types on Python 2 clients.
+ * Issue #477: In Powershell downloader, use explicit rendering of
+ strings, rather than rely on "repr", which can be incorrect
+ (especially on Python 2).
+
+- changes from version 19.1:
+ * Issue #215: The bootstrap script "ez_setup.py" now automatically
+ detects the latest version of setuptools (using PyPI JSON API)
+ rather than hard-coding a particular value.
+ * Issue #475: Fix incorrect usage in _translate_metadata2.
+
+- changes from version 19.0:
+ * Issue #442: Use RawConfigParser for parsing .pypirc file.
+ Interpolated values are no longer honored in .pypirc files.
+
+-------------------------------------------------------------------
Old:
----
setuptools-18.8.1.tar.gz
New:
----
setuptools-19.1.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-setuptools.spec ++++++
--- /var/tmp/diff_new_pack.rMvUW9/_old 2015-12-23 09:57:19.000000000 +0100
+++ /var/tmp/diff_new_pack.rMvUW9/_new 2015-12-23 09:57:19.000000000 +0100
@@ -17,7 +17,7 @@
Name: python3-setuptools
-Version: 18.8.1
+Version: 19.1.1
Release: 0
Url: http://pypi.python.org/pypi/setuptools
Summary: Easily download, build, install, upgrade, and uninstall Python packages
++++++ setuptools-18.8.1.tar.gz -> setuptools-19.1.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-18.8.1/.gitignore new/setuptools-19.1.1/.gitignore
--- old/setuptools-18.8.1/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/setuptools-19.1.1/.gitignore 2015-11-30 17:24:31.000000000 +0100
@@ -0,0 +1,16 @@
+# syntax: glob
+bin
+build
+dist
+include
+lib
+distribute.egg-info
+setuptools.egg-info
+.coverage
+.tox
+CHANGES (links).txt
+*.egg
+*.py[cod]
+*.swp
+*~
+.hg*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-18.8.1/.hgignore new/setuptools-19.1.1/.hgignore
--- old/setuptools-18.8.1/.hgignore 1970-01-01 01:00:00.000000000 +0100
+++ new/setuptools-19.1.1/.hgignore 2015-11-30 17:24:31.000000000 +0100
@@ -0,0 +1,16 @@
+syntax: glob
+bin
+build
+dist
+include
+lib
+distribute.egg-info
+setuptools.egg-info
+.coverage
+.tox
+CHANGES (links).txt
+*.egg
+*.py[cod]
+*.swp
+*~
+.git*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-18.8.1/.hgtags new/setuptools-19.1.1/.hgtags
--- old/setuptools-18.8.1/.hgtags 1970-01-01 01:00:00.000000000 +0100
+++ new/setuptools-19.1.1/.hgtags 2015-12-17 01:27:31.000000000 +0100
@@ -0,0 +1,233 @@
+1010d08fd8dfd2f1496843b557b5369a0beba82a 0.6
+4d114c5f2a3ecb4a0fa552075dbbb221b19e291b 0.6.1
+41415244ee90664042d277d0b1f0f59c04ddd0e4 0.6.2
+e033bf2d3d05f4a7130f5f8f5de152c4db9ff32e 0.6.3
+e06c416e911c61771708f5afbf3f35db0e12ba71 0.6.4
+2df182df8a0224d429402de3cddccdb97af6ea21 0.6.5
+f1fb564d6d67a6340ff33df2f5a74b89753f159d 0.6.6
+71f08668d050589b92ecd164a4f5a91f3484313b 0.6.7
+445547a5729ed5517cf1a9baad595420a8831ef8 0.6.8
+669ed9388b17ec461380cc41760a9a7384fb5284 0.6.9
+669ed9388b17ec461380cc41760a9a7384fb5284 0.6.9
+ac7d9b14ac43fecb8b65de548b25773553facaee 0.6.9
+0fd5c506037880409308f2b79c6e901d21e7fe92 0.6.10
+0fd5c506037880409308f2b79c6e901d21e7fe92 0.6.10
+f18396c6e1875476279d8bbffd8e6dadcc695136 0.6.10
+e00987890c0b386f09d0f6b73d8558b72f6367f1 0.6.11
+48a97bc89e2f65fc9b78b358d7dc89ba9ec9524a 0.6.12
+dae247400d0ca1fdfaf38db275622c9bec550b08 0.6.13
+2b9d9977ea75b8eb3766bab808ef31f192d2b1bc 0.6.14
+51a9d1a1f31a4be3107d06cf088aff8e182dc633 0.6.15
+3f1ff138e947bfc1c9bcfe0037030b7bfb4ab3a5 0.6.16
+9c40f23d0bda3f3f169686e27a422f853fa4d0fa 0.6.17
+9c40f23d0bda3f3f169686e27a422f853fa4d0fa 0.6.17
+4bbc01e4709ea7425cf0c186bbaf1d928cfa2a65 0.6.17
+4bbc01e4709ea7425cf0c186bbaf1d928cfa2a65 0.6.17
+0502d5117d8304ab21084912758ed28812a5a8f1 0.6.17
+74108d7f07343556a8db94e8122221a43243f586 0.6.18
+611910892a0421633d72677979f94a25ef590d54 0.6.19
+a7cf5ae137f1646adf86ce5d6b5d8b7bd6eab69f 0.6.20
+c4a375336d552129aef174486018ed09c212d684 0.6.20
+de44acab3cfce1f5bc811d6c0fa1a88ca0e9533f 0.6.21
+1a1ab844f03e10528ae693ad3cb45064e08f49e5 0.6.23
+1a1ab844f03e10528ae693ad3cb45064e08f49e5 0.6.23
+9406c5dac8429216f1a264e6f692fdc534476acd 0.6.23
+7fd7b6e30a0effa082baed1c4103a0efa56be98c 0.6.24
+6124053afb5c98f11e146ae62049b4c232d50dc5 0.6.25
+b69f072c000237435e17b8bbb304ba6f957283eb 0.6.26
+469c3b948e41ef28752b3cdf3c7fb9618355ebf5 0.6.27
+fc379e63586ad3c6838e1bda216548ba8270b8f0 0.6.28
+4f82563d0f5d1af1fb215c0ac87f38b16bb5c42d 0.6.29
+7464fc916fa4d8308e34e45a1198512fe04c97b4 0.6.30
+17bc972d67edd96c7748061910172e1200a73efe 0.6.31
+b1a7f86b315a1f8c20036d718d6dc641bb84cac6 0.6.32
+6acac3919ae9a7dba2cbecbe3d4b31ece25d5f09 0.6.33
+23c310bf4ae8e4616e37027f08891702f5a33bc9 0.6.34
+2abe1117543be0edbafb10c7c159d1bcb1cb1b87 0.6.35
+c813a29e831f266d427d4a4bce3da97f475a8eee 0.6.36
+be6f65eea9c10ce78b6698d8c220b6e5de577292 0.6.37
+2b26ec8909bff210f47c5f8fc620bc505e1610b5 0.6.37
+f0d502a83f6c83ba38ad21c15a849c2daf389ec7 0.6.38
+d737b2039c5f92af8000f78bbc80b6a5183caa97 0.6.39
+9b2e2aa06e058c63e06c5e42a7f279ddae2dfb7d 0.7b1
+0a783fa0dceb95b5fc743e47c2d89c1523d0afb7 0.6.40
+ad107e9b4beea24516ac4e1e854696e586fe279d 0.6.41
+f30167716b659f96c5e0b7ea3d5be2bcff8c0eac 0.6.42
+8951daac6c1bc7b24c7fb054fd369f2c5b88cdb3 0.7b2
+35086ee286732b0f63d2be18d9f26f2734586e2d 0.6.43
+63e4eb2d61204f77f9b557201a0efa187b05a611 0.7b3
+73aa98aee6bbc4a9d19a334a8ac928dece7799c6 0.6.44
+53b4ac9a748aa28893aaca42c41e5e99568667bb 0.7b4
+ddca71ae5ceb9b14512dc60ea83802c10e224cf0 0.6.45
+7f2c08e9ca22023d1499c512fccc1513813b7dc4 0.7
+024dd30ed702135f5328975042566e48cc479d7d 0.7.1
+d04c05f035e3a5636006fc34f4be7e6c77035d17 0.7.2
+d212e48e0cef689acba57ed017289c027660b23c 0.7.3
+74c6c12268059986f9cc0b535399594f1d131201 0.8b1
+85640475dda0621f20e11db0995fa07f51744a98 0.7.4
+b57e5ba934767dd498669b17551678081b3047b5 0.6.46
+dd5bbc116c53d3732d22f983e7ca6d8cfabd3b08 0.7.5
+512744f3f306aea0fdde4cfd600af8b2d6e773e7 0.8b2
+8af9839a76407eebf3610fcd3e7973f1625abaa2 0.8b3
+ee2c967017024197b38e39ced852808265387a4b 0.6.47
+48d3d26cbea68e21c96e51f01092e8fdead5cd60 0.7.6
+5b3c7981a02b4a86af1b10ae16492899b515d485 0.8b4
+cae9127e0534fc46d7ddbc11f68dc88fd9311459 0.6.48
+1506fa538fff01e70424530a32a44e070720cf3c 0.7.7
+5679393794978a1d3e1e087472b8a0fdf3d8423c 0.8b5
+26f59ec0f0f69714d28a891aaad048e3b9fcd6f7 0.8b6
+f657df1f1ed46596d236376649c99a470662b4ba 0.6.49
+236de1de68b14230036147c7c9e7c09b215b53ee 0.7.8
+979d598822bc64b05fb177a2ba221e75ee5b44d3 0.8b7
+e3d70539e79f39a97f69674ab038661961a1eb43 0.8
+3078b1e566399bf0c5590f3528df03d0c23a0777 0.9
+9e5a8f734662dd36e6fd6e4ba9031d0e2d294632 0.9.1
+37444bb32e172aaacbc0aeafdf5a778ee471723d 0.9.2
+3e9d2e89de3aa499382d6be2ec8b64d2a29f7f13 0.9.3
+1aef141fc968113e4c521d1edf6ea863c4ff7e00 0.9.4
+88e3d6788facbb2dd6467a23c4f35529a5ce20a1 0.9.5
+acc6c5d61d0f82040c237ac7ea010c0fc9e67d66 0.9.6
+19965a03c1d5231c894e0fabfaf45af1fd99f484 0.9.7
+e0a6e225ad6b28471cd42cfede6e8a334bb548fb 0.9.8
+7b91ff93a30ef78634b7bb34f4a6229a5de281ee 1.0b1
+aba16323ec9382da7bc77c633990ccb3bd58d050 1.0b2
+8a98492f0d852402c93ddbbf3f07081909a9105f 1.0b3
+c385fdf1f976fb1d2a6accc9292d8eca419180fa 1.0
+d943b67fe80dbd61326014e4acedfc488adfa1c9 1.1
+2e42e86546100c9f6845b04eb31b75c5add05f78 1.1.1
+462fe5ccd8befeb2a235e8295d6d73eb3a49cc78 1.1.2
+ddf3561d6a54087745f4bf6ea2048b86195d6fe2 1.1.3
+f94c7e4fa03077e069c1c3cef93ead735559e706 1.1.4
+d9bb58331007ee3f69d31983a180f56b15c731c3 1.1.5
+5e426bdeb46b87e299422adc419f4163b6c78d13 1.1.6
+cc9b19cd0ec64e44308a852e9b9fdc6026ea2e46 1.1.7
+4c7dc4ae2440ae3e9ba26b4a12ffca3407e7030d 1.2b1
+77921bbe3931caf40474dc36e55d3d541981c749 1.2
+19873119647deae8a68e9ed683317b9ee170a8d8 1.3
+a197b626075a8c2e393a08c42a20bd2624a41092 1.3.1
+076b472a9e3f840021e9d5509878337e6e5fcd89 1.3.2
+0d1bdb99a535a2c7ed4edd37141fb0b54348b713 1.4b1
+a13f8c18ce742bc83c794b9eea57980cb94ae18a 1.4
+9a5f26d7df8ef779cb5f40cc0389343fb4c61365 1.4.1
+274cb3beba4f22d5f461b0578b6d56e171d94f2e 1.4.2
+0bb1df93c2eaa50e95ccfce18208b0cca20ebae3 2.0
+bbdba51e1bc1779728ed351529252f73543ace65 2.0.1
+5a62ac60ba31d249db1cfcff31d85ca26421be6d 2.0.2
+c49c651997ebec3b40b71139e8a6a6a15c62c848 2.1
+b5be6c2b828cb92d27f52fccc725ce86a37e9ce0 2.1.1
+ab1c2a26e06f2a2006e8e867e4d41ccf1d6cf9b2 2.2b1
+caab085e829f29679d0e47430b2761af6b20fc76 2.1.2
+39f7ef5ef22183f3eba9e05a46068e1d9fd877b0 2.2
+faba785e9b9e05ba890d0851ef1f3287c32fcac2 3.0b1
+8e8c50925f18eafb7e66fe020aa91a85b9a4b122 3.0
+cd9e857476ac70515f7436f846b593f696ac672d 3.0.1
+bad1f30ee0dfa7a2af4f428d06f62efa39ca48db 3.0.2
+47224d55ddc6bb08c1d17a219f124d0d9c524491 3.1
+07c459bea1c58ff52e0576fc29c1865d18a83b09 3.2
+b306e681a945406833fb297ae10241e2241fc22b 3.3
+78c8cfbe3e1017d1653c48f7306b2c4b4911bf1a 4.0b1
+5cb90066d98700e6d37a01d95c4a2090e730ae02 3.4
+e39de2d3eb774b70c023a1151758213cc9ed2178 3.4.1
+369f6f90f69683702cc0b72827ccf949977808b0 3.4.2
+06a56e063c327b0606f9e9690764279d424646b2 3.4.3
+0917d575d26091a184796624743825914994bf95 3.4.4
+98f29d521c3a57bae0090d2bc5597d93db95b108 3.5
+254d8c625f4620993ce2d2b21212ba01cf307fe6 3.5.1
+572201d08eadc59210f6f0f28f9dc79f906672d3 3.5.2
+e94e768594a1405efde0b79cc60549dd8a4cda9a 3.6
+292dfca15d33e72a862d044183a6ad7c06862a19 3.7b1
+49bd27eebf212c067392796bb2d0fa6d8e583586 3.7
+2fa97c06cc013a9c82f4c1219711e72238d5b6e6 3.8
+9b422fc0b8b97cdb62f02d754283f747adef7f83 3.7.1
+40744de29b848f0e88139ba91d645c08a56855e9 3.8.1
+84d936fd18a93d16c46e68ee2e39f5733f3cd863 5.0
+871bd7b4326f48860ebe0baccdaea8fe4f8f8583 5.0.1
+95996b713722376679c3168b15ab12ea8360dd5f 5.0.2
+3a948b6d01e3449b478fcdc532c44eb3cea5ee10 5.1
+f493e6c4ffd88951871110858c141385305e0077 5.2
+1f9505cfd7524ce0c83ab31d139f47b39c56ccbe 5.3
+baae103e80c307008b156e426a07eb9f486eb4f0 5.4
+ba3b08c7bffd6123e1a7d58994f15e8051a67cb7 5.4.1
+7adcf1397f6eccb9e73eda294343de2943f7c8fb 5.4.2
+68910a89f97a508a64f9f235dc64ad43d4477ea0 5.5
+949a66af4f03521e1404deda940aa951418a13d2 5.5.1
+a1fc0220bfa3581158688789f6dfdc00672eb99b 5.6
+37ed55fd310d0cd32009dc5676121e86b404a23d 5.7
+67550a8ed9f4ef49ee5a31f433adbf5a0eaeccf9 5.8
+755cbfd3743ffb186cdf7e20be8e61dbdaa22503 6.0
+bc6655b4acf205dd9f25c702955645656077398a 6.0.1
+1ae2a75724bbba56373784f185a7f235ed0f24a4 6.0.2b1
+01271e84e5125fcc4f0f368a6e21116a5722953c 6.0.2
+7ea80190d494a766c6356fce85c844703964b6cc 6.1
+df26609c2f614f5fc9110342e4003ee8bd95cf84 7.0
+850a5c155c48b6ecfbb83b961586ea359b561522 8.0b1
+7ea0e7498e4ddbf63b6929ee83c75a9207996b08 8.0
+1af3a5f24f7dd4e51d117f701918052b7de65c99 8.1b1
+d62bf4e407b3b9b5bedcc1396a9ba46f35571902 8.0.1
+1c03d512e39d5cfd711ae3ed7e316769f427e43b 8.0.2
+6c3467488123ce70b1dd009145a02f51fb78cdcc 8.0.3
+2c467afffe9fe1e14618b576fac6b4f7c412a61e 8.0.4
+3f87370b6863e5a4e831b394ef1a58e0e97a4336 8.1
+995f6d9651312cd481ca1e5ddb271cbdd0474c57 8.2
+efbe39dae0aba9a7db399f6442758ae94e315c93 8.2.1
+cd14b2a72e51c7d13873ab6c2041f901b1a7a1cd 8.3
+0eee586a153f068142c1a0df4bc2635ed2c1a1cc 9.0b1
+921e60a0f9067311571fde9ccf2f35223159d9f6 8.4
+0d7b9b63d06ab7f68bc8edd56cb2034e6395d7fc 9.0
+fa069bf2411a150c9379d31a04d1c3836e2d3027 9.0.1
+3ed27d68d3f41bb5daa2afecfa9180d5958fe9d3 9.1
+0c4d18a747a6d39bff8e194a58af949a960d674a 10.0
+4c41e2cdd70beb0da556d71f46a67734c14f2bc2 10.0.1
+26b00011ec65b8f7b4f3d51078ec0a694701a45c 10.1
+651d41db58849d4fc50e466f4dc458d448480c4e 10.2
+1f5de53c079d577ead9d80265c9e006503b16457 10.2.1
+b4b92805bc0e9802da0b597d00df4fa42b30bc40 11.0
+6cd2b18f4be2a9c188fa505b34505b32f4a4554b 11.1
+feb5971e7827483bbdeb67613126bb79ed09e6d9 11.2
+a1a6a1ac9113b90009052ca7263174a488434099 11.3
+1116e568f534ad8f4f41328a0f5fa183eb739c90 11.3.1
+55666947c9eb7e3ba78081ad6ae004807c84aede 12.0
+747018b2e35a40cb4b1c444f150f013d02197c64 12.0.1
+a177ea34bf81662b904fe3af46f3c8719a947ef1 12.0.2
+bf8c5bcacd49bf0f9648013a40ebfc8f7c727f7b 12.0.3
+73dcfc90e3eecec6baddea19302c6b342e68e2fa 12.0.4
+01fbfc9194a2bc502edd682eebbf4d2f1bc79eee 12.0.5
+7bca8938434839dbb546b8bfccd9aab7a86d851e 12.1
+5ff5c804a8fa580cff499ba0025ff2e6a5474fd0 12.2
+8d50aac3b20793954121edb300b477cc75f3ec96 12.3
+297931cb8cac7d44d970adb927efd6cb36ac3526 12.4
+df34cc18624279faffdbc729c0a11e6ab0f46572 13.0
+ae1a5c5cf78f4f9f98c054f1c8cec6168d1d19b4 13.0.1
+e22a1d613bddf311e125eecd9c1e1cad02ab5063 13.0.2
+a3a105f795f8362f26e84e9acbc237ee2d6bcca4 14.0
+9751a1671a124e30ae344d1510b9c1dbb14f2775 14.1
+07fcc3226782b979cedaaf456c7f1c5b2fdafd2c 14.1.1
+d714fb731de779a1337d2d78cd413931f1f06193 14.2
+e3c635a7d463c7713c647d1aa560f83fd8e27ef0 14.3
+608948cef7e0ab8951691b149f5b6f0184a5635e 14.3.1
+617699fd3e44e54b6f95b80bfcf78164df37f266 15.0b1
+d2c4d84867154243993876d6248aafec1fd12679 15.0
+10fde952613b7a3f650fb1f6b6ed58cbd232fa3c 15.1
+df5dc9c7aa7521f552824dee1ed1315cfe180844 15.2
+e0825f0c7d5963c498266fe3c175220c695ae83b 16.0
+8e56240961015347fed477f00ca6a0783e81d3a2 17.0
+a37bcaaeab367f2364ed8c070659d52a4c0ae38e 17.1
+4a0d01d690ff184904293e7a3244ac24ec060a73 17.1.1
+fac98a49bd984ef5accf7177674d693277bfbaef 18.0b1
+0a49ee524b0a1d67d2a11c8c22f082b57acd7ae1 18.0
+e364795c1b09c70b6abb53770e09763b52bf807d 18.0.1
+c0395f556c35d8311fdfe2bda6846b91149819cd 18.1
+1a981f2e5031f55267dc2a28fa1b42274a1b64b2 18.2
+b59320212c8371d0be9e5e6c5f7eec392124c009 18.3
+7a705b610abb1177ca169311c4ee261f3e4f0957 18.3.1
+1e120f04bcaa2421c4df0eb6678c3019ba4a82f6 18.3.2
+6203335278be7543d31790d9fba55739469a4c6c 18.4
+31dc6d2ac0f5ab766652602fe6ca716fff7180e7 18.5
+dfe190b09908f6b953209d13573063809de451b8 18.6
+804f87045a901f1dc121cf9149143d654228dc13 18.6.1
+67d07805606aead09349d5b91d7d26c68ddad2fc 18.7
+3041e1fc409be90e885968b90faba405420fc161 18.7.1
+c811801ffa1de758cf01fbf6a86e4c04ff0c0935 18.8
+fbf06fa35f93a43f044b1645a7e4ff470edb462c 18.8.1
+cc41477ecf92f221c113736fac2830bf8079d40c 19.0
+834782ce49154e9744e499e00eb392c347f9e034 19.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-18.8.1/.travis.yml new/setuptools-19.1.1/.travis.yml
--- old/setuptools-18.8.1/.travis.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/setuptools-19.1.1/.travis.yml 2015-12-16 14:21:20.000000000 +0100
@@ -0,0 +1,25 @@
+language: python
+python:
+ - 2.6
+ - 2.7
+ - 3.3
+ - 3.4
+ - 3.5
+ - pypy
+env:
+ - ""
+ - LC_ALL=C LC_CTYPE=C
+script:
+ # avoid VersionConflict when newer version is required
+ - pip install -U pytest
+
+ # Output the env, because the travis docs just can't be trusted
+ - env
+
+ # update egg_info based on setup.py in checkout
+ - python bootstrap.py
+
+ - python setup.py test --addopts='-rs'
+
+ # test the bootstrap script
+ - python ez_setup.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-18.8.1/CHANGES.txt new/setuptools-19.1.1/CHANGES.txt
--- old/setuptools-18.8.1/CHANGES.txt 2015-12-13 16:47:39.000000000 +0100
+++ new/setuptools-19.1.1/CHANGES.txt 2015-12-17 01:09:19.000000000 +0100
@@ -4,6 +4,33 @@
------
+19.1.1
+------
+
+* Issue #476: Cast version to string (using default encoding)
+ to avoid creating Unicode types on Python 2 clients.
+* Issue #477: In Powershell downloader, use explicit rendering
+ of strings, rather than rely on ``repr``, which can be
+ incorrect (especially on Python 2).
+
+----
+19.1
+----
+
+* Issue #215: The bootstrap script ``ez_setup.py`` now
+ automatically detects
+ the latest version of setuptools (using PyPI JSON API) rather
+ than hard-coding a particular value.
+* Issue #475: Fix incorrect usage in _translate_metadata2.
+
+----
+19.0
+----
+
+* Issue #442: Use RawConfigParser for parsing .pypirc file.
+ Interpolated values are no longer honored in .pypirc files.
+
+------
18.8.1
------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-18.8.1/Makefile new/setuptools-19.1.1/Makefile
--- old/setuptools-18.8.1/Makefile 1970-01-01 01:00:00.000000000 +0100
+++ new/setuptools-19.1.1/Makefile 2015-11-30 17:24:31.000000000 +0100
@@ -0,0 +1,7 @@
+empty:
+ exit 1
+
+update-vendored:
+ rm -rf pkg_resources/_vendor/packaging
+ pip install -r pkg_resources/_vendor/vendored.txt -t pkg_resources/_vendor/
+ rm -rf pkg_resources/_vendor/*.{egg,dist}-info
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-18.8.1/PKG-INFO new/setuptools-19.1.1/PKG-INFO
--- old/setuptools-18.8.1/PKG-INFO 2015-12-13 17:57:44.000000000 +0100
+++ new/setuptools-19.1.1/PKG-INFO 2015-12-17 01:27:34.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: setuptools
-Version: 18.8.1
+Version: 19.1.1
Summary: Easily download, build, install, upgrade, and uninstall Python packages
Home-page: https://bitbucket.org/pypa/setuptools
Author: Python Packaging Authority
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-18.8.1/ez_setup.py new/setuptools-19.1.1/ez_setup.py
--- old/setuptools-18.8.1/ez_setup.py 2015-12-13 17:57:40.000000000 +0100
+++ new/setuptools-19.1.1/ez_setup.py 2015-12-17 01:10:20.000000000 +0100
@@ -16,7 +16,8 @@
import platform
import textwrap
import contextlib
-import warnings
+import json
+import codecs
from distutils import log
@@ -30,7 +31,8 @@
except ImportError:
USER_SITE = None
-DEFAULT_VERSION = "18.8.1"
+LATEST = object()
+DEFAULT_VERSION = LATEST
DEFAULT_URL = "https://pypi.python.org/packages/source/s/setuptools/"
DEFAULT_SAVE_DIR = os.curdir
@@ -140,6 +142,7 @@
Return None. Raise SystemExit if the requested version
or later cannot be installed.
"""
+ version = _resolve_version(version)
to_dir = os.path.abspath(to_dir)
# prior to importing, capture the module state for
@@ -222,8 +225,8 @@
ps_cmd = (
"[System.Net.WebRequest]::DefaultWebProxy.Credentials = "
"[System.Net.CredentialCache]::DefaultCredentials; "
- "(new-object System.Net.WebClient).DownloadFile(%(url)r, %(target)r)"
- % vars()
+ '(new-object System.Net.WebClient).DownloadFile("%(url)s", "%(target)s")'
+ % locals()
)
cmd = [
'powershell',
@@ -321,6 +324,7 @@
``downloader_factory`` should be a function taking no arguments and
returning a function for downloading a URL to a target.
"""
+ version = _resolve_version(version)
# making sure we use the absolute path
to_dir = os.path.abspath(to_dir)
zip_name = "setuptools-%s.zip" % version
@@ -333,6 +337,26 @@
return os.path.realpath(saveto)
+def _resolve_version(version):
+ """
+ Resolve LATEST version
+ """
+ if version is not LATEST:
+ return version
+
+ resp = urlopen('https://pypi.python.org/pypi/setuptools/json')
+ with contextlib.closing(resp):
+ try:
+ charset = resp.info().get_content_charset()
+ except Exception:
+ # Python 2 compat; assume UTF-8
+ charset = 'UTF-8'
+ reader = codecs.getreader(charset)
+ doc = json.load(reader(resp))
+
+ return str(doc['info']['version'])
+
+
def _build_install_args(options):
"""
Build the arguments to 'python setup.py install' on the setuptools package.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-18.8.1/pkg_resources/__init__.py new/setuptools-19.1.1/pkg_resources/__init__.py
--- old/setuptools-18.8.1/pkg_resources/__init__.py 2015-12-09 08:34:40.000000000 +0100
+++ new/setuptools-19.1.1/pkg_resources/__init__.py 2015-12-16 14:21:20.000000000 +0100
@@ -1537,7 +1537,7 @@
"""
return dict(
(key.replace('.', '_'), value)
- for key, value in env
+ for key, value in env.items()
)
@classmethod
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-18.8.1/release.py new/setuptools-19.1.1/release.py
--- old/setuptools-18.8.1/release.py 2015-11-30 17:24:31.000000000 +0100
+++ new/setuptools-19.1.1/release.py 2015-12-16 14:25:24.000000000 +0100
@@ -4,24 +4,13 @@
"""
import os
-import subprocess
import pkg_resources
pkg_resources.require('jaraco.packaging>=2.0')
pkg_resources.require('wheel')
-
-def before_upload():
- BootstrapBookmark.add()
-
-
-def after_push():
- BootstrapBookmark.push()
-
-files_with_versions = (
- 'ez_setup.py', 'setuptools/version.py',
-)
+files_with_versions = 'setuptools/version.py',
# bdist_wheel must be included or pip will break
dist_commands = 'sdist', 'bdist_wheel'
@@ -29,22 +18,3 @@
test_info = "Travis-CI tests: http://travis-ci.org/#!/jaraco/setuptools"
os.environ["SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES"] = "1"
-
-class BootstrapBookmark:
- name = 'bootstrap'
-
- @classmethod
- def add(cls):
- cmd = ['hg', 'bookmark', '-i', cls.name, '-f']
- subprocess.Popen(cmd)
-
- @classmethod
- def push(cls):
- """
- Push the bootstrap bookmark
- """
- push_command = ['hg', 'push', '-B', cls.name]
- # don't use check_call here because mercurial will return a non-zero
- # code even if it succeeds at pushing the bookmark (because there are
- # no changesets to be pushed). !dm mercurial
- subprocess.call(push_command)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-18.8.1/scripts/upload-old-releases-as-zip.py new/setuptools-19.1.1/scripts/upload-old-releases-as-zip.py
--- old/setuptools-18.8.1/scripts/upload-old-releases-as-zip.py 1970-01-01 01:00:00.000000000 +0100
+++ new/setuptools-19.1.1/scripts/upload-old-releases-as-zip.py 2015-11-30 17:24:31.000000000 +0100
@@ -0,0 +1,242 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# declare and require dependencies
+__requires__ = [
+ 'twine',
+]; __import__('pkg_resources')
+
+import errno
+import glob
+import hashlib
+import json
+import os
+import shutil
+import tarfile
+import codecs
+import urllib.request
+import urllib.parse
+import urllib.error
+from distutils.version import LooseVersion
+
+from twine.commands import upload
+
+
+OK = '\033[92m'
+FAIL = '\033[91m'
+END = '\033[0m'
+DISTRIBUTION = "setuptools"
+
+
+class SetuptoolsOldReleasesWithoutZip:
+ """docstring for SetuptoolsOldReleases"""
+
+ def __init__(self):
+ self.dirpath = './dist'
+ os.makedirs(self.dirpath, exist_ok=True)
+ print("Downloading %s releases..." % DISTRIBUTION)
+ print("All releases will be downloaded to %s" % self.dirpath)
+ self.data_json_setuptools = self.get_json_data(DISTRIBUTION)
+ self.valid_releases_numbers = sorted([
+ release
+ for release in self.data_json_setuptools['releases']
+ # This condition is motivated by 13.0 release, which
+ # comes as "13.0": [], in the json
+ if self.data_json_setuptools['releases'][release]
+ ], key=LooseVersion)
+ self.total_downloaded_ok = 0
+
+ def get_json_data(self, package_name):
+ """
+ "releases": {
+ "0.7.2": [
+ {
+ "has_sig": false,
+ "upload_time": "2013-06-09T16:10:00",
+ "comment_text": "",
+ "python_version": "source",
+ "url": "https://pypi.python.org/packages/source/s/setuptools/setuptools-0.7.2.tar.gz", # NOQA
+ "md5_digest": "de44cd90f8a1c713d6c2bff67bbca65d",
+ "downloads": 159014,
+ "filename": "setuptools-0.7.2.tar.gz",
+ "packagetype": "sdist",
+ "size": 633077
+ }
+ ],
+ "0.7.3": [
+ {
+ "has_sig": false,
+ "upload_time": "2013-06-18T21:08:56",
+ "comment_text": "",
+ "python_version": "source",
+ "url": "https://pypi.python.org/packages/source/s/setuptools/setuptools-0.7.3.tar.gz", # NOQA
+ "md5_digest": "c854adacbf9067d330a847f06f7a8eba",
+ "downloads": 30594,
+ "filename": "setuptools-0.7.3.tar.gz",
+ "packagetype": "sdist",
+ "size": 751152
+ }
+ ],
+ "12.3": [
+ {
+ "has_sig": false,
+ "upload_time": "2015-02-26T19:15:51",
+ "comment_text": "",
+ "python_version": "3.4",
+ "url": "https://pypi.python.org/packages/3.4/s/setuptools/setuptools-12.3-py2.py3-no...", # NOQA
+ "md5_digest": "31f51a38497a70efadf5ce8d4c2211ab",
+ "downloads": 288451,
+ "filename": "setuptools-12.3-py2.py3-none-any.whl",
+ "packagetype": "bdist_wheel",
+ "size": 501904
+ },
+ {
+ "has_sig": false,
+ "upload_time": "2015-02-26T19:15:43",
+ "comment_text": "",
+ "python_version": "source",
+ "url": "https://pypi.python.org/packages/source/s/setuptools/setuptools-12.3.tar.gz", # NOQA
+ "md5_digest": "67614b6d560fa4f240e99cd553ec7f32",
+ "downloads": 110109,
+ "filename": "setuptools-12.3.tar.gz",
+ "packagetype": "sdist",
+ "size": 635025
+ },
+ {
+ "has_sig": false,
+ "upload_time": "2015-02-26T19:15:47",
+ "comment_text": "",
+ "python_version": "source",
+ "url": "https://pypi.python.org/packages/source/s/setuptools/setuptools-12.3.zip", # NOQA
+ "md5_digest": "abc799e7db6e7281535bf342bfc41a12",
+ "downloads": 67539,
+ "filename": "setuptools-12.3.zip",
+ "packagetype": "sdist",
+ "size": 678783
+ }
+ ],
+ """
+ url = "https://pypi.python.org/pypi/%s/json" % (package_name,)
+ resp = urllib.request.urlopen(urllib.request.Request(url))
+ charset = resp.info().get_content_charset()
+ reader = codecs.getreader(charset)(resp)
+ data = json.load(reader)
+
+ # Mainly for debug.
+ json_filename = "%s/%s.json" % (self.dirpath, DISTRIBUTION)
+ with open(json_filename, 'w') as outfile:
+ json.dump(
+ data,
+ outfile,
+ sort_keys=True,
+ indent=4,
+ separators=(',', ': '),
+ )
+
+ return data
+
+ def get_setuptools_releases_without_zip_counterpart(self):
+ # Get set(all_valid_releases) - set(releases_with_zip), so now we have
+ # the releases without zip.
+ return set(self.valid_releases_numbers) - set([
+ release
+ for release in self.valid_releases_numbers
+ for same_version_release_dict in self.data_json_setuptools['releases'][release] # NOQA
+ if 'zip' in same_version_release_dict['filename']
+ ])
+
+ def download_setuptools_releases_without_zip_counterpart(self):
+ try:
+ releases_without_zip = self.get_setuptools_releases_without_zip_counterpart() # NOQA
+ failed_md5_releases = []
+ # This is a "strange" loop, going through all releases and
+ # testing only the release I need to download, but I thought it
+ # would be mouch more readable than trying to iterate through
+ # releases I need and get into traverse hell values inside dicts
+ # inside dicts of the json to get the distribution's url to
+ # download.
+ for release in self.valid_releases_numbers:
+ if release in releases_without_zip:
+ for same_version_release_dict in self.data_json_setuptools['releases'][release]: # NOQA
+ if 'tar.gz' in same_version_release_dict['filename']:
+ print("Downloading %s..." % release)
+ local_file = '%s/%s' % (
+ self.dirpath,
+ same_version_release_dict["filename"]
+ )
+ urllib.request.urlretrieve(
+ same_version_release_dict["url"],
+ local_file
+ )
+ targz = open(local_file, 'rb').read()
+ hexdigest = hashlib.md5(targz).hexdigest()
+ if (hexdigest != same_version_release_dict['md5_digest']): # NOQA
+ print(FAIL + "FAIL: md5 for %s didn't match!" % release + END) # NOQA
+ failed_md5_releases.append(release)
+ else:
+ self.total_downloaded_ok += 1
+ print('Total releases without zip: %s' % len(releases_without_zip))
+ print('Total downloaded: %s' % self.total_downloaded_ok)
+ if failed_md5_releases:
+ msg = FAIL + (
+ "FAIL: these releases %s failed the md5 check!" %
+ ','.join(failed_md5_releases)
+ ) + END
+ raise Exception(msg)
+ elif self.total_downloaded_ok != len(releases_without_zip):
+ msg = FAIL + (
+ "FAIL: Unknown error occured. Please check the logs."
+ ) + END
+ raise Exception(msg)
+ else:
+ print(OK + "All releases downloaded and md5 checked." + END)
+
+ except OSError as e:
+ if e.errno != errno.EEXIST:
+ raise e
+
+ def convert_targz_to_zip(self):
+ print("Converting the tar.gz to zip...")
+ files = glob.glob('%s/*.tar.gz' % self.dirpath)
+ total_converted = 0
+ for targz in sorted(files, key=LooseVersion):
+ # Extract and remove tar.
+ tar = tarfile.open(targz)
+ tar.extractall(path=self.dirpath)
+ tar.close()
+ os.remove(targz)
+
+ # Zip the extracted tar.
+ setuptools_folder_path = targz.replace('.tar.gz', '')
+ setuptools_folder_name = setuptools_folder_path.split("/")[-1]
+ print(setuptools_folder_name)
+ shutil.make_archive(
+ setuptools_folder_path,
+ 'zip',
+ self.dirpath,
+ setuptools_folder_name
+ )
+ # Exclude extracted tar folder.
+ shutil.rmtree(setuptools_folder_path.replace('.zip', ''))
+ total_converted += 1
+ print('Total converted: %s' % total_converted)
+ if self.total_downloaded_ok != total_converted:
+ msg = FAIL + (
+ "FAIL: Total number of downloaded releases is different"
+ " from converted ones. Please check the logs."
+ ) + END
+ raise Exception(msg)
+ print("Done with the tar.gz->zip. Check folder %s." % main.dirpath)
+
+ def upload_zips_to_pypi(self):
+ print('Uploading to pypi...')
+ zips = sorted(glob.glob('%s/*.zip' % self.dirpath), key=LooseVersion)
+ print("simulated upload of", zips); return
+ upload.upload(dists=zips)
+
+
+if __name__ == '__main__':
+ main = SetuptoolsOldReleasesWithoutZip()
+ main.download_setuptools_releases_without_zip_counterpart()
+ main.convert_targz_to_zip()
+ main.upload_zips_to_pypi()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-18.8.1/setuptools/command/easy_install.py new/setuptools-19.1.1/setuptools/command/easy_install.py
--- old/setuptools-18.8.1/setuptools/command/easy_install.py 2015-12-02 04:00:35.000000000 +0100
+++ new/setuptools-19.1.1/setuptools/command/easy_install.py 2015-12-14 10:55:09.000000000 +0100
@@ -1402,7 +1402,7 @@
def extract_wininst_cfg(dist_filename):
"""Extract configuration data from a bdist_wininst .exe
- Returns a ConfigParser.RawConfigParser, or None
+ Returns a configparser.RawConfigParser, or None
"""
f = open(dist_filename, 'rb')
try:
@@ -1415,7 +1415,7 @@
return None
f.seek(prepended - 12)
- from setuptools.compat import StringIO, ConfigParser
+ from setuptools.compat import StringIO, configparser
import struct
tag, cfglen, bmlen = struct.unpack("