1 | Sat Jul 31 10:00:14 GMT Daylight Time 2010 david-sarah@jacaranda.org |
---|
2 | * Changes to handling of scripts on Windows: get rid of .exe wrappers and use .pyscript/.pyw files instead. |
---|
3 | |
---|
4 | New patches: |
---|
5 | |
---|
6 | [Changes to handling of scripts on Windows: get rid of .exe wrappers and use .pyscript/.pyw files instead. |
---|
7 | david-sarah@jacaranda.org**20100731090014 |
---|
8 | Ignore-this: 388569f1be1002641bb928a812ebe28a |
---|
9 | ] hunk ./README.txt 1 |
---|
10 | -=============================== |
---|
11 | -Installing and Using Setuptools |
---|
12 | -=============================== |
---|
13 | +====================== |
---|
14 | +This is not Setuptools |
---|
15 | +====================== |
---|
16 | |
---|
17 | hunk ./README.txt 5 |
---|
18 | -.. contents:: **Table of Contents** |
---|
19 | +This is the ``zetuptoolz`` fork of setuptools, which is used to install |
---|
20 | +`Tahoe-LAFS`_. It has a `darcs source repository`_ and `issue tracker`_. |
---|
21 | |
---|
22 | hunk ./README.txt 8 |
---|
23 | +For a list of differences between this fork and setuptools, see zetuptoolz.txt. |
---|
24 | |
---|
25 | hunk ./README.txt 10 |
---|
26 | -------------------------- |
---|
27 | -Installation Instructions |
---|
28 | -------------------------- |
---|
29 | +Note that, to avoid interfering with any setuptools installation, zetuptoolz |
---|
30 | +does not install a script called ``easy_install``. There is an ``easy_install_z`` |
---|
31 | +script, but that is intended only for developers to test differences between |
---|
32 | +setuptools and zetuptoolz. |
---|
33 | |
---|
34 | hunk ./README.txt 15 |
---|
35 | -Windows |
---|
36 | -======= |
---|
37 | +.. _Tahoe-LAFS: http://tahoe-lafs.org/ |
---|
38 | +.. _darcs source repository: http://tahoe-lafs.org/source/zetuptoolz/trunk |
---|
39 | +.. _issue tracker: http://tahoe-lafs.org/trac/zetuptoolz |
---|
40 | |
---|
41 | hunk ./README.txt 19 |
---|
42 | -Install setuptools using the provided ``.exe`` installer. If you've previously |
---|
43 | -installed older versions of setuptools, please delete all ``setuptools*.egg`` |
---|
44 | -and ``setuptools.pth`` files from your system's ``site-packages`` directory |
---|
45 | -(and any other ``sys.path`` directories) FIRST. |
---|
46 | - |
---|
47 | -If you are upgrading a previous version of setuptools that was installed using |
---|
48 | -an ``.exe`` installer, please be sure to also *uninstall that older version* |
---|
49 | -via your system's "Add/Remove Programs" feature, BEFORE installing the newer |
---|
50 | -version. |
---|
51 | - |
---|
52 | -Once installation is complete, you will find an ``easy_install.exe`` program in |
---|
53 | -your Python ``Scripts`` subdirectory. Be sure to add this directory to your |
---|
54 | -``PATH`` environment variable, if you haven't already done so. |
---|
55 | - |
---|
56 | - |
---|
57 | -RPM-Based Systems |
---|
58 | -================= |
---|
59 | - |
---|
60 | -Install setuptools using the provided source RPM. The included ``.spec`` file |
---|
61 | -assumes you are installing using the default ``python`` executable, and is not |
---|
62 | -specific to a particular Python version. The ``easy_install`` executable will |
---|
63 | -be installed to a system ``bin`` directory such as ``/usr/bin``. |
---|
64 | - |
---|
65 | -If you wish to install to a location other than the default Python |
---|
66 | -installation's default ``site-packages`` directory (and ``$prefix/bin`` for |
---|
67 | -scripts), please use the ``.egg``-based installation approach described in the |
---|
68 | -following section. |
---|
69 | - |
---|
70 | - |
---|
71 | -Cygwin, Mac OS X, Linux, Other |
---|
72 | -============================== |
---|
73 | - |
---|
74 | -1. Download the appropriate egg for your version of Python (e.g. |
---|
75 | - ``setuptools-0.6c9-py2.4.egg``). Do NOT rename it. |
---|
76 | - |
---|
77 | -2. Run it as if it were a shell script, e.g. ``sh setuptools-0.6c9-py2.4.egg``. |
---|
78 | - Setuptools will install itself using the matching version of Python (e.g. |
---|
79 | - ``python2.4``), and will place the ``easy_install`` executable in the |
---|
80 | - default location for installing Python scripts (as determined by the |
---|
81 | - standard distutils configuration files, or by the Python installation). |
---|
82 | - |
---|
83 | -If you want to install setuptools to somewhere other than ``site-packages`` or |
---|
84 | -your default distutils installation locations for libraries and scripts, you |
---|
85 | -may include EasyInstall command-line options such as ``--prefix``, |
---|
86 | -``--install-dir``, and so on, following the ``.egg`` filename on the same |
---|
87 | -command line. For example:: |
---|
88 | - |
---|
89 | - sh setuptools-0.6c9-py2.4.egg --prefix=~ |
---|
90 | - |
---|
91 | -You can use ``--help`` to get a full options list, but we recommend consulting |
---|
92 | -the `EasyInstall manual`_ for detailed instructions, especially `the section |
---|
93 | -on custom installation locations`_. |
---|
94 | - |
---|
95 | -.. _EasyInstall manual: http://peak.telecommunity.com/DevCenter/EasyInstall |
---|
96 | -.. _the section on custom installation locations: http://peak.telecommunity.com/DevCenter/EasyInstall#custom-installation-locations |
---|
97 | - |
---|
98 | - |
---|
99 | -Cygwin Note |
---|
100 | ------------ |
---|
101 | - |
---|
102 | -If you are trying to install setuptools for the **Windows** version of Python |
---|
103 | -(as opposed to the Cygwin version that lives in ``/usr/bin``), you must make |
---|
104 | -sure that an appropriate executable (``python2.3``, ``python2.4``, or |
---|
105 | -``python2.5``) is on your **Cygwin** ``PATH`` when invoking the egg. For |
---|
106 | -example, doing the following at a Cygwin bash prompt will install setuptools |
---|
107 | -for the **Windows** Python found at ``C:\\Python24``:: |
---|
108 | - |
---|
109 | - ln -s /cygdrive/c/Python24/python.exe python2.4 |
---|
110 | - PATH=.:$PATH sh setuptools-0.6c9-py2.4.egg |
---|
111 | - rm python2.4 |
---|
112 | - |
---|
113 | - |
---|
114 | -Downloads |
---|
115 | -========= |
---|
116 | - |
---|
117 | -All setuptools downloads can be found at `the project's home page in the Python |
---|
118 | -Package Index`_. Scroll to the very bottom of the page to find the links. |
---|
119 | - |
---|
120 | -.. _the project's home page in the Python Package Index: http://pypi.python.org/pypi/setuptools#files |
---|
121 | - |
---|
122 | -In addition to the PyPI downloads, the development version of ``setuptools`` |
---|
123 | -is available from the `Python SVN sandbox`_, and in-development versions of the |
---|
124 | -`0.6 branch`_ are available as well. |
---|
125 | - |
---|
126 | -.. _0.6 branch: http://svn.python.org/projects/sandbox/branches/setuptools-0.6/#egg=setuptools-dev06 |
---|
127 | - |
---|
128 | -.. _Python SVN sandbox: http://svn.python.org/projects/sandbox/trunk/setuptools/#egg=setuptools-dev |
---|
129 | |
---|
130 | -------------------------------- |
---|
131 | Using Setuptools and EasyInstall |
---|
132 | binary ./cli.exe |
---|
133 | oldhex |
---|
134 | *4d5a90000300000004000000ffff0000b800000000000000400000000000000000000000000000 |
---|
135 | *000000000000000000000000000000000000000000800000000e1fba0e00b409cd21b8014ccd21 |
---|
136 | *546869732070726f6772616d2063616e6e6f742062652072756e20696e20444f53206d6f64652e |
---|
137 | *0d0d0a2400000000000000504500004c01050049c7b7450000000000000000e0000f030b010238 |
---|
138 | *000e00000008000000020000701200000010000000200000000040000010000000020000040000 |
---|
139 | *000100000004000000000000000060000000040000ef6c00000300000000002000001000000000 |
---|
140 | *1000001000000000000010000000000000000000000000500000d4030000000000000000000000 |
---|
141 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
142 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
143 | *000000000000000000000000000000000000000000000000002e74657874000000f00c00000010 |
---|
144 | *0000000e000000040000000000000000000000000000200000602e646174610000003000000000 |
---|
145 | *2000000002000000120000000000000000000000000000400000c02e7264617461000050000000 |
---|
146 | *003000000002000000140000000000000000000000000000400000402e62737300000000600000 |
---|
147 | *00004000000000000000000000000000000000000000000000800000c02e69646174610000d403 |
---|
148 | *0000005000000004000000160000000000000000000000000000400000c0000000000000000000 |
---|
149 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
150 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
151 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
152 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
153 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
154 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
155 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
156 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
157 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
158 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
159 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
160 | *000000000000000000005589e583ec18895df88b450831db8975fc8b0031f68b003d910000c077 |
---|
161 | *433d8d0000c0725bbe01000000c704240800000031d289542404e8740b000083f801747a85c074 |
---|
162 | *0ec7042408000000ffd0bbffffffff89d88b75fc8b5df889ec5dc204003d940000c074c2774a3d |
---|
163 | *930000c074b489d88b75fc8b5df889ec5dc20400903d050000c0745b3d1d0000c075c5c7042404 |
---|
164 | *00000031f689742404e8100b000083f801746a85c074aac7042404000000ffd0eb9a3d960000c0 |
---|
165 | *ebd1c7042408000000b80100000089442404e8e00a000085f60f8476ffffffe863090000e96cff |
---|
166 | *ffffc704240b00000031c089442404e8bc0a000083f801743085c00f8452ffffffc704240b0000 |
---|
167 | *00ffd0e93fffffffc7042404000000b901000000894c2404e88c0a0000e925ffffffc704240b00 |
---|
168 | *0000b80100000089442404e8720a0000e90bffffff8db6000000008dbc27000000005589e55383 |
---|
169 | *ec24c7042400104000e8fd0a000083ec04e8d5080000c745f8000000008d45f889442410a10020 |
---|
170 | *4000c70424044040008944240c8d45f489442408b80040400089442404e8420a0000a110404000 |
---|
171 | *85c07459a3102040008b151c51400085d20f858b00000083fae0741fa11040400089442404a11c |
---|
172 | *5140008b4030890424e8f80900008b151c51400083fac0741da11040400089442404a11c514000 |
---|
173 | *8b4050890424e8d40900008d742600e8bb0900008b15102040008910e8fe07000083e4f0e88609 |
---|
174 | *00008b0089442408a10040400089442404a104404000890424e8ba06000089c3e853090000891c |
---|
175 | *24e82b0a000089442404a11c5140008b4010890424e8770900008b151c514000e956ffffff8db6 |
---|
176 | *000000008dbf000000005589e583ec08c7042401000000ff1514514000e8c8feffff908db42600 |
---|
177 | *0000005589e583ec08c7042402000000ff1514514000e8a8feffff908db42600000000558b0d30 |
---|
178 | *51400089e55dffe18d742600558b0d2451400089e55dffe1909090905589e583ec188b450c8944 |
---|
179 | *24088b450889442404a11c51400083c040890424e85c090000b802000000c9c35589e557565383 |
---|
180 | *ec0c8b750889f7fcb9ffffffffb000f2aef7d18d79ffc7442404010000008d443f03890424e814 |
---|
181 | *0900008945f0c6002289c242b900000000bb0000000039f97d33803c1e5c750341eb1e803c1e22 |
---|
182 | *751385c97e09c6025c424985c97ff7c6025c42eb05b9000000000fb6041e8802424339fb7ccd85 |
---|
183 | *c97e09c6025c424985c97ff7c60222c64201008b45f083c40c5b5e5f5dc35589e5565383ec10c7 |
---|
184 | *44240808000000c7442404000000008b4508890424e8c808000083ec0c89c6b80000000085f674 |
---|
185 | *3ec744240401000000c7042404010000e86608000089c385c07417c74424080401000089442404 |
---|
186 | *893424e89c08000083ec0c893424e8a108000083ec0489d88d65f85b5e5dc35589e557565381ec |
---|
187 | *4c0400008b75088d5e010fb61684d2741380fa2f7504c643ff5c0fb6034388c284c075ed8d85d8 |
---|
188 | *fcffff894424108d85d8fdffff8944240c8d85d8feffff894424088d45d889442404893424e8cc |
---|
189 | *070000807dd800750980bdd8feffff5c750d893424e81affffffe9990000008d85d8fcffff8944 |
---|
190 | *24108d85d8fdffff8944240c8d9dd8feffff895c24088d45d8894424048b450c890424e8800700 |
---|
191 | *0089dffcb9ffffffffb000f2aef7d18d5c19fe803b5c75064b803b5c74198d85d8feffff89c239 |
---|
192 | *d8770dc603004b803b5c740439da76f3c7442410000000008974240c8d85d8feffff894424088d |
---|
193 | *45d8894424048d9dc8fbffff891c24e80f070000891c24e87cfeffff81c44c0400005b5e5f5dc3 |
---|
194 | *5589e557565383ec1c8b5d0889dffcb9ffffffffb000f2aef7d149c744240404000000890c24e8 |
---|
195 | *f10600008945f089debf00000000c745e8000000008b450cc700000000008b55f0891aeb01430f |
---|
196 | *be03890424e89406000085c075f00fb603438845ef84c074150fbec0890424e87a06000085c074 |
---|
197 | *47837de800754185ff7407c6065c464f75f9c60600468b550c8b024089028b55f0893482807def |
---|
198 | *00750589d0eb65430fbe03890424e83d06000085c075f0803b0075a48b45f0eb4b807def5c7503 |
---|
199 | *47eb96807def22751bf7c7010000007511837de8000f94c00fb6c08945e8c645ef00d1ff85ff74 |
---|
200 | *07c6065c464f75f9807def000f8460ffffff0fb645ef880646e954ffffff83c41c5b5e5f5dc355 |
---|
201 | *89e557565381ec2c020000c7442408000100008d9de8fdffff895c2404c7042400000000e83206 |
---|
202 | *000083ec0c89dffcb9ffffffffb000f2aef7d18d7419ff39f37314803e2e740f89d8c606004e39 |
---|
203 | *f07305803e2e75f3c606008db5e8fdffff89f7fcb9ffffffffb000f2aef7d149c7040e2d736372 |
---|
204 | *c7440e046970742e66c7440e087079c6440e0a00c744240400000000893424e8a204000089c383 |
---|
205 | *f8ff751589742404c7042400304000e8ebfbffffe9c50100008db5e8feffffc744240800010000 |
---|
206 | *89742404890424e85c04000001c6891c24e8420400008dbde7feffff4739f7730f803f00740a80 |
---|
207 | *3f0a7405803f0d75ecc607008db5e8feffffbf10304000b902000000fcf3a60f97c20f92c038c2 |
---|
208 | *7425c785e8feffff23217079c785ecfeffff74686f6ec785f0feffff2e657865c685f4feffff00 |
---|
209 | *8d85e4fdffff894424048d85eafeffff890424e89ffdffff8985dcfdffff8d85e8fdffff894424 |
---|
210 | *048b95dcfdffff8b02890424e866fcffff89c785c0751d8b95dcfdffff8b0289442404c7042414 |
---|
211 | *304000e80dfbffffe9e7000000c7442404040000008b45080385e4fdffff40890424e85e040000 |
---|
212 | *8985e0fdffff893c24e80bfbffff8b95e0fdffff890289d383c304be010000003bb5e4fdffff7d |
---|
213 | *1f8b95dcfdffff8b04b2890424e8e0faffff890383c304463bb5e4fdffff7ce18d85e8fdffff89 |
---|
214 | *0424e8c4faffff890383c304be010000003b75087d198b550c8b04b2890424e8a7faffff890383 |
---|
215 | *c304463b75087ce7c70300000000837d1000742a8b85e0fdffff894424048d9de8feffff891c24 |
---|
216 | *e8bd020000895c2404c7042436304000e83dfaffffeb1a8b95e0fdffff89542408897c2404c704 |
---|
217 | *2400000000e8810200008d65f45b5e5f5dc35589e55383ec14e82d03000089c3e836030000c744 |
---|
218 | *2408000000008b13895424048b00890424e852fdffff83c4145b5dc2100090909090909055b810 |
---|
219 | *00000089e55383ec6483e4f0e8fc010000e8d7010000e8a203000089c38d45a8890424e8a50300 |
---|
220 | *0083ec0485db7506e99d000000430fb60b80f9200f94c080f9090f94c209d0a80175ea80f92274 |
---|
221 | *3e80f9200f95c031d280f9090f95c285d0744c8db6000000008dbf0000000084c9743c430fb60b |
---|
222 | *80f9200f95c031d280f9090f95c285d075e6eb248d742600430fb60b80f9220f95c031d284c90f |
---|
223 | *95c285d075eb80f92274668db60000000080f9200f94c080f9090f94c2eb1089f6430fb6033c20 |
---|
224 | *0f94c23c090f94c009d0a80175ecc7042400000000e80003000083ec04f645d401ba0a00000074 |
---|
225 | *040fb755d88954240c31d2895c240889542404890424e8bffeffff83ec108b5dfcc9c3430fb60b |
---|
226 | *eb9a9090909090909090909055b95030400089e5eb148db6000000008b51048b0183c108018200 |
---|
227 | *00400081f95030400072ea5dc390909090909090905589e5dbe35dc39090909090909090905589 |
---|
228 | *e583ec08a1202040008338007417ff108b15202040008d42048b5204a32020400085d275e9c9c3 |
---|
229 | *8db426000000005589e55383ec04a1e01c400083f8ff742985c089c3741389f68dbc2700000000 |
---|
230 | *ff149de01c40004b75f6c70424501a4000e8faf7ffff595b5dc331c0833de41c400000eb0a408b |
---|
231 | *1c85e41c400085db75f4ebbe8db6000000008dbc270000000055a12040400089e585c074045dc3 |
---|
232 | *89f65db801000000a320404000eb839090905189e183c1083d00100000721081e9001000008309 |
---|
233 | *002d00100000ebe929c183090089e089cc8b088b4004ffe0909090ff25f4504000909000000000 |
---|
234 | *00000000ff25e850400090900000000000000000ff25e450400090900000000000000000ff25f0 |
---|
235 | *50400090900000000000000000ff25ec50400090900000000000000000ff251451400090900000 |
---|
236 | *000000000000ff251851400090900000000000000000ff250c51400090900000000000000000ff |
---|
237 | *254051400090900000000000000000ff251051400090900000000000000000ff25285140009090 |
---|
238 | *0000000000000000ff250051400090900000000000000000ff2508514000909000000000000000 |
---|
239 | *00ff250451400090900000000000000000ff253c51400090900000000000000000ff2520514000 |
---|
240 | *90900000000000000000ff252c51400090900000000000000000ff253451400090900000000000 |
---|
241 | *000000ff253851400090900000000000000000ff256851400090900000000000000000ff254c51 |
---|
242 | *400090900000000000000000ff256451400090900000000000000000ff25585140009090000000 |
---|
243 | *0000000000ff255051400090900000000000000000ff255451400090900000000000000000ff25 |
---|
244 | *6051400090900000000000000000ff255c51400090900000000000000000ffffffff00000000ff |
---|
245 | *ffffff000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
246 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
247 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
248 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
249 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
250 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
251 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
252 | *000000000000ffffffff00000000000000000000000000400000000000000000000000000000ec |
---|
253 | *1c4000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
254 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
255 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
256 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
257 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
258 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
259 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
260 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
261 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
262 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
263 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
264 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
265 | *000000000000000000000043616e6e6f74206f70656e2025730a002321000043616e6e6f742066 |
---|
266 | *696e6420507974686f6e2065786563757461626c652025730a00436f756c64206e6f7420657865 |
---|
267 | *632025730000000000000000000000000000000000000000000000000000000000000000000000 |
---|
268 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
269 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
270 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
271 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
272 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
273 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
274 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
275 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
276 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
277 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
278 | *0000000000000000000000000000000054500000000000000000000048530000e4500000705000 |
---|
279 | *0000000000000000009853000000510000bc5000000000000000000000c45300004c5100000000 |
---|
280 | *00000000000000000000000000000000000000000000705100007c510000885100009051000098 |
---|
281 | *5100000000000000000000a4510000b4510000c4510000d4510000e4510000f451000008520000 |
---|
282 | *145200001c520000285200003452000040520000505200005c5200006852000074520000805200 |
---|
283 | *0000000000000000008c5200009c520000ac520000c0520000d8520000ec520000005300001453 |
---|
284 | *00000000000000000000705100007c5100008851000090510000985100000000000000000000a4 |
---|
285 | *510000b4510000c4510000d4510000e4510000f451000008520000145200001c52000028520000 |
---|
286 | *3452000040520000505200005c52000068520000745200008052000000000000000000008c5200 |
---|
287 | *009c520000ac520000c0520000d8520000ec52000000530000145300000000000006005f636c6f |
---|
288 | *73650000000012005f6578656376000000003a005f6f70656e0040005f72656164004b005f7370 |
---|
289 | *61776e7600000027005f5f6765746d61696e617267730031005f5f705f5f5f6172676300000000 |
---|
290 | *32005f5f705f5f5f61726776000000003c005f5f705f5f656e7669726f6e00003e005f5f705f5f |
---|
291 | *666d6f64650000000050005f5f7365745f6170705f747970650000000079005f63657869740000 |
---|
292 | *0000e9005f696f6200001f015f6d616b6570617468005e015f6f6e6578697400000084015f7365 |
---|
293 | *746d6f6465000092015f73706c697470617468000000001c026174657869740000000021026361 |
---|
294 | *6c6c6f63000000003902667072696e74660000005a026973737061636500000090027369676e61 |
---|
295 | *6c000000009b004578697450726f63657373000000d500467265654c696272617279000000ec00 |
---|
296 | *476574436f6d6d616e644c696e65410000004d014765744d6f64756c6546696c654e616d654100 |
---|
297 | *0000004f014765744d6f64756c6548616e646c65410000800147657453746172747570496e666f |
---|
298 | *410000000b024c6f61644c69627261727945784100000000df02536574556e68616e646c656445 |
---|
299 | *7863657074696f6e46696c74657200000000500000005000000050000000500000005000006d73 |
---|
300 | *766372742e646c6c00001450000014500000145000001450000014500000145000001450000014 |
---|
301 | *500000145000001450000014500000145000001450000014500000145000001450000014500000 |
---|
302 | *6d73766372742e646c6c0000285000002850000028500000285000002850000028500000285000 |
---|
303 | *00285000004b45524e454c33322e646c6c00000000000000000000000000000000000000000000 |
---|
304 | *0000000000000000000000000000000000000000000000000000 |
---|
305 | newhex |
---|
306 | * |
---|
307 | rmfile ./cli.exe |
---|
308 | hunk ./ez_setup.py 17 |
---|
309 | This file can also be run as a script to install or upgrade setuptools. |
---|
310 | """ |
---|
311 | import sys |
---|
312 | -DEFAULT_VERSION = "0.6c14dev" |
---|
313 | + |
---|
314 | +print >>sys.stderr, """ |
---|
315 | +Warning: This script is unmaintained in the zetuptoolz fork. |
---|
316 | +It uses a default download location from which zetuptoolz is not actually available. |
---|
317 | +""" |
---|
318 | + |
---|
319 | +DEFAULT_VERSION = "0.6c16dev" |
---|
320 | DEFAULT_URL = "http://pypi.python.org/packages/%s/s/setuptools/" % sys.version[:3] |
---|
321 | |
---|
322 | md5_data = { |
---|
323 | binary ./gui.exe |
---|
324 | oldhex |
---|
325 | *4d5a90000300000004000000ffff0000b800000000000000400000000000000000000000000000 |
---|
326 | *000000000000000000000000000000000000000000800000000e1fba0e00b409cd21b8014ccd21 |
---|
327 | *546869732070726f6772616d2063616e6e6f742062652072756e20696e20444f53206d6f64652e |
---|
328 | *0d0d0a2400000000000000504500004c0105002e737d470000000000000000e0000f030b010238 |
---|
329 | *001000000008000000020000801200000010000000200000000040000010000000020000040000 |
---|
330 | *00010000000400000000000000006000000004000010cd00000200000000002000001000000000 |
---|
331 | *1000001000000000000010000000000000000000000000500000d4030000000000000000000000 |
---|
332 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
333 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
334 | *000000000000000000000000000000000000000000000000002e74657874000000400e00000010 |
---|
335 | *00000010000000040000000000000000000000000000200000602e646174610000003000000000 |
---|
336 | *2000000002000000140000000000000000000000000000400000c02e7264617461000050000000 |
---|
337 | *003000000002000000160000000000000000000000000000400000402e62737300000000700000 |
---|
338 | *00004000000000000000000000000000000000000000000000800000c02e69646174610000d403 |
---|
339 | *0000005000000004000000180000000000000000000000000000400000c0000000000000000000 |
---|
340 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
341 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
342 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
343 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
344 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
345 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
346 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
347 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
348 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
349 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
350 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
351 | *000000000000000000005589e583ec18895df88b550831db8975fc8b0231f68b003d910000c077 |
---|
352 | *433d8d0000c0725bbe01000000c704240800000031d289542404e8c40c000083f801747a85c074 |
---|
353 | *0ec7042408000000ffd0bbffffffff89d88b75fc8b5df889ec5dc204003d940000c074c2774a3d |
---|
354 | *930000c074b489d88b75fc8b5df889ec5dc20400903d050000c0745b3d1d0000c075c5c7042404 |
---|
355 | *00000031f689742404e8600c000083f801746a85c074aac7042404000000ffd0eb9a3d960000c0 |
---|
356 | *ebd1c7042408000000b901000000894c2404e8300c000085f60f8476ffffffe8630a0000e96cff |
---|
357 | *ffffc704240b00000031c9894c2404e80c0c000083f801743085c00f8452ffffffc704240b0000 |
---|
358 | *00ffd0e93fffffffc7042404000000b80100000089442404e8dc0b0000e925ffffffc704240b00 |
---|
359 | *0000bb01000000895c2404e8c20b0000e90bffffff8db6000000008dbc27000000005589e55383 |
---|
360 | *ec248d5df8c7042400104000e84a0c000083ec04e8d2080000e8cd090000c745f800000000b800 |
---|
361 | *4040008d55f4895c24108b0d002040008944240489542408894c240cc7042404404000e88c0b00 |
---|
362 | *00a11040400085c07463a3102040008b151c51400085d20f859600000083fae07420a110404000 |
---|
363 | *894424048b1d1c5140008b4b30890c24e8410b00008b151c51400083fac074268b1d1040400089 |
---|
364 | *5c24048b0d1c5140008b5150891424e81b0b00008d7426008dbc2700000000e8fb0a00008b1d10 |
---|
365 | *2040008918e8ee07000083e4f0e8c60a00008b08894c24088b150040400089542404a104404000 |
---|
366 | *890424e8a906000089c3e8920a0000891c24e86a0b0000894424048b151c5140008b4210890424 |
---|
367 | *e8b50a00008b151c514000e94affffff8d76008dbc27000000005589e583ec08c7042401000000 |
---|
368 | *ff1514514000e8b8feffff908db426000000005589e583ec08c7042402000000ff1514514000e8 |
---|
369 | *98feffff908db42600000000558b0d3051400089e55dffe18d742600558b0d2451400089e55dff |
---|
370 | *e1909090905589e583ec188b450c894424088b450889442404a11c51400083c040890424e89c0a |
---|
371 | *0000b802000000c9c35589e557565383ec0c8b750889f7fcb9ffffffffb000f2aef7d18d79ffc7 |
---|
372 | *442404010000008d443f03890424e8540a00008945f0c6002289c242b900000000bb0000000039 |
---|
373 | *f97d33803c1e5c750341eb1e803c1e22751385c97e09c6025c424985c97ff7c6025c42eb05b900 |
---|
374 | *0000000fb6041e8802424339fb7ccd85c97e09c6025c424985c97ff7c60222c64201008b45f083 |
---|
375 | *c40c5b5e5f5dc35589e5565383ec10c744240808000000c7442404000000008b4508890424e808 |
---|
376 | *0a000083ec0c89c6b80000000085f6743ec744240401000000c7042404010000e8a609000089c3 |
---|
377 | *85c07417c74424080401000089442404893424e8dc09000083ec0c893424e8e109000083ec0489 |
---|
378 | *d88d65f85b5e5dc35589e557565381ec4c0400008b75088d5e010fb61684d2741380fa2f7504c6 |
---|
379 | *43ff5c0fb6034388c284c075ed8d85d8fcffff894424108d85d8fdffff8944240c8d85d8feffff |
---|
380 | *894424088d45d889442404893424e80c090000807dd800750980bdd8feffff5c750d893424e81a |
---|
381 | *ffffffe9990000008d85d8fcffff894424108d85d8fdffff8944240c8d9dd8feffff895c24088d |
---|
382 | *45d8894424048b450c890424e8c008000089dffcb9ffffffffb000f2aef7d18d5c19fe803b5c75 |
---|
383 | *064b803b5c74198d85d8feffff89c239d8770dc603004b803b5c740439da76f3c7442410000000 |
---|
384 | *008974240c8d85d8feffff894424088d45d8894424048d9dc8fbffff891c24e84f080000891c24 |
---|
385 | *e87cfeffff81c44c0400005b5e5f5dc35589e557565383ec1c8b5d0889dffcb9ffffffffb000f2 |
---|
386 | *aef7d149c744240404000000890c24e8310800008945f089debf00000000c745e8000000008b45 |
---|
387 | *0cc700000000008b55f0891aeb01430fbe03890424e8d407000085c075f00fb603438845ef84c0 |
---|
388 | *74150fbec0890424e8ba07000085c07447837de800754185ff7407c6065c464f75f9c60600468b |
---|
389 | *550c8b024089028b55f0893482807def00750589d0eb65430fbe03890424e87d07000085c075f0 |
---|
390 | *803b0075a48b45f0eb4b807def5c750347eb96807def22751bf7c7010000007511837de8000f94 |
---|
391 | *c00fb6c08945e8c645ef00d1ff85ff7407c6065c464f75f9807def000f8460ffffff0fb645ef88 |
---|
392 | *0646e954ffffff83c41c5b5e5f5dc35589e557565381ec2c020000c7442408000100008d9de8fd |
---|
393 | *ffff895c2404c7042400000000e87207000083ec0c89dffcb9ffffffffb000f2aef7d18d7419ff |
---|
394 | *39f37314803e2e740f89d8c606004e39f07305803e2e75f3c606008db5e8fdffff89f7fcb9ffff |
---|
395 | *ffffb000f2aef7d149c7040e2d736372c7440e046970742ec7440e0870797700c7442404000000 |
---|
396 | *00893424e8e605000089c383f8ff751589742404c7042400304000e8effbffffe9bf0100008db5 |
---|
397 | *e8feffffc74424080001000089742404890424e8a005000001c6891c24e8860500008dbde7feff |
---|
398 | *ff4739f7730f803f00740a803f0a7405803f0d75ecc607008db5e8feffffbf10304000b9020000 |
---|
399 | *00fcf3a60f97c20f92c038c27425c785e8feffff23217079c785ecfeffff74686f6ec785f0feff |
---|
400 | *ff2e657865c685f4feffff008d85e4fdffff894424048d85eafeffff890424e8a3fdffff8985dc |
---|
401 | *fdffff8d85e8fdffff894424048b95dcfdffff8b02890424e86afcffff89c785c0751d8b95dcfd |
---|
402 | *ffff8b0289442404c7042414304000e811fbffffe9e1000000c7442404040000008b45080385e4 |
---|
403 | *fdffff40890424e8a20500008985e0fdffff893c24e80ffbffff8b95e0fdffff890289d383c304 |
---|
404 | *be010000003bb5e4fdffff7d1f8b95dcfdffff8b04b2890424e8e4faffff890383c304463bb5e4 |
---|
405 | *fdffff7ce18d85e8fdffff890424e8c8faffff890383c304be010000003b75087d198b550c8b04 |
---|
406 | *b2890424e8abfaffff890383c304463b75087ce7c70300000000837d100074248b85e0fdffff89 |
---|
407 | *442404893c24e807040000897c2404c7042436304000e847faffffeb1a8b95e0fdffff89542408 |
---|
408 | *897c2404c7042400000000e8cb0300008d65f45b5e5f5dc35589e55383ec14e87704000089c3e8 |
---|
409 | *80040000c7442408010000008b13895424048b00890424e85cfdffff83c4145b5dc2100055b810 |
---|
410 | *00000089e55383ec6483e4f0e84c030000e8d7020000e8f204000089c38d45a8890424e8f50400 |
---|
411 | *0083ec0485db7506e99f000000430fb60b80f9200f94c080f9090f94c209d0a80175ea80f92274 |
---|
412 | *3e80f9200f95c031d280f9090f95c285d0744c8db6000000008dbf0000000084c9743c430fb60b |
---|
413 | *80f9200f95c031d280f9090f95c285d075e6eb248d742600430fb60b80f9220f95c031d284c90f |
---|
414 | *95c285d075eb80f92274688db60000000080f9200f94c080f9090f94c2eb126690430fb60b80f9 |
---|
415 | *200f94c280f9090f94c009d0a80175eac7042400000000e84e04000083ec04f645d401ba0a0000 |
---|
416 | *0074040fb755d8895c240831db895c24048954240c890424e8c3feffff83ec108b5dfcc9c3430f |
---|
417 | *b60beb98909090909090909055b95030400089e5eb148db6000000008b51048b0183c108018200 |
---|
418 | *00400081f95030400072ea5dc390909090909090905589e5539c9c5889c23500002000509d9c58 |
---|
419 | *9d31d0a9000020000f84c000000031c00fa285c00f84b4000000b8010000000fa2f6c6010f85a7 |
---|
420 | *00000089d381e3008000006685db7407830d2040400002f7c2000080007407830d2040400004f7 |
---|
421 | *c2000000017407830d2040400008f7c2000000027407830d204040001081e2000000047407830d |
---|
422 | *2040400020f6c1017407830d2040400040f6c520740a810d2040400080000000b8000000800fa2 |
---|
423 | *3d00000080762bb8010000800fa2a12040400089c181c90001000081e200000040741e0d000300 |
---|
424 | *00a320404000908d7426005b5dc3830d2040400001e94dffffff5b890d204040005dc390909090 |
---|
425 | *909090905589e5dbe35dc39090909090909090905589e583ec08a1202040008338007417ff108b |
---|
426 | *0d202040008b51048d4104a32020400085d275e9c9c38db426000000005589e55383ec04a1301e |
---|
427 | *400083f8ff742985c089c3741389f68dbc2700000000ff149d301e40004b75f6c70424501b4000 |
---|
428 | *e80af7ffff595b5dc331c0833d341e400000eb0a408b1c85341e400085db75f4ebbe8db6000000 |
---|
429 | *008dbc27000000005589e55383ec048b1d3040400085db7535a1301e4000b901000000890d3040 |
---|
430 | *400083f8ff742485c089c3740e8d742600ff149d301e40004b75f6c70424501b4000e89af6ffff |
---|
431 | *585b5dc331c0833d341e400000eb0a408b1485341e400085d275f4ebc390909090909090909090 |
---|
432 | *9090905189e183c1083d00100000721081e9001000008309002d00100000ebe929c183090089e0 |
---|
433 | *89cc8b088b4004ffe0909090ff25f450400090900000000000000000ff25e85040009090000000 |
---|
434 | *0000000000ff25e450400090900000000000000000ff25f050400090900000000000000000ff25 |
---|
435 | *ec50400090900000000000000000ff251451400090900000000000000000ff2518514000909000 |
---|
436 | *00000000000000ff250c51400090900000000000000000ff254051400090900000000000000000 |
---|
437 | *ff251051400090900000000000000000ff252851400090900000000000000000ff250051400090 |
---|
438 | *900000000000000000ff250851400090900000000000000000ff25045140009090000000000000 |
---|
439 | *0000ff253c51400090900000000000000000ff252051400090900000000000000000ff252c5140 |
---|
440 | *0090900000000000000000ff253451400090900000000000000000ff2538514000909000000000 |
---|
441 | *00000000ff256851400090900000000000000000ff254c51400090900000000000000000ff2564 |
---|
442 | *51400090900000000000000000ff255851400090900000000000000000ff255051400090900000 |
---|
443 | *000000000000ff255451400090900000000000000000ff256051400090900000000000000000ff |
---|
444 | *255c51400090900000000000000000ffffffff00000000ffffffff000000000000000000000000 |
---|
445 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
446 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
447 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
448 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
449 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
450 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
451 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
452 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
453 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
454 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
455 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
456 | *0000000000000000000000ffffffff000000000000000000000000004000000000000000000000 |
---|
457 | *000000003c1e400000000000000000000000000000000000000000000000000000000000000000 |
---|
458 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
459 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
460 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
461 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
462 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
463 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
464 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
465 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
466 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
467 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
468 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
469 | *0000000000000000000000000000000043616e6e6f74206f70656e2025730a002321000043616e |
---|
470 | *6e6f742066696e6420507974686f6e2065786563757461626c652025730a00436f756c64206e6f |
---|
471 | *742065786563202573000000000000000000000000000000000000000000000000000000000000 |
---|
472 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
473 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
474 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
475 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
476 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
477 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
478 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
479 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
480 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
481 | *000000000000000000000000000000000000000000000000000000000000000000000000000000 |
---|
482 | *00000000000000000000000000000000000000000054500000000000000000000048530000e450 |
---|
483 | *00007050000000000000000000009853000000510000bc5000000000000000000000c45300004c |
---|
484 | *510000000000000000000000000000000000000000000000000000705100007c51000088510000 |
---|
485 | *90510000985100000000000000000000a4510000b4510000c4510000d4510000e4510000f45100 |
---|
486 | *0008520000145200001c520000285200003452000040520000505200005c520000685200007452 |
---|
487 | *00008052000000000000000000008c5200009c520000ac520000c0520000d8520000ec52000000 |
---|
488 | *530000145300000000000000000000705100007c51000088510000905100009851000000000000 |
---|
489 | *00000000a4510000b4510000c4510000d4510000e4510000f451000008520000145200001c5200 |
---|
490 | *00285200003452000040520000505200005c520000685200007452000080520000000000000000 |
---|
491 | *00008c5200009c520000ac520000c0520000d8520000ec52000000530000145300000000000006 |
---|
492 | *005f636c6f73650000000012005f6578656376000000003a005f6f70656e0040005f7265616400 |
---|
493 | *4b005f737061776e7600000027005f5f6765746d61696e617267730031005f5f705f5f5f617267 |
---|
494 | *630000000032005f5f705f5f5f61726776000000003c005f5f705f5f656e7669726f6e00003e00 |
---|
495 | *5f5f705f5f666d6f64650000000050005f5f7365745f6170705f747970650000000079005f6365 |
---|
496 | *78697400000000e9005f696f6200001f015f6d616b6570617468005e015f6f6e65786974000000 |
---|
497 | *84015f7365746d6f6465000092015f73706c697470617468000000001c02617465786974000000 |
---|
498 | *00210263616c6c6f63000000003902667072696e74660000005a02697373706163650000009002 |
---|
499 | *7369676e616c000000009b004578697450726f63657373000000d500467265654c696272617279 |
---|
500 | *000000ec00476574436f6d6d616e644c696e65410000004d014765744d6f64756c6546696c654e |
---|
501 | *616d6541000000004f014765744d6f64756c6548616e646c654100008001476574537461727475 |
---|
502 | *70496e666f410000000b024c6f61644c69627261727945784100000000e002536574556e68616e |
---|
503 | *646c6564457863657074696f6e46696c7465720000000050000000500000005000000050000000 |
---|
504 | *5000006d73766372742e646c6c0000145000001450000014500000145000001450000014500000 |
---|
505 | *145000001450000014500000145000001450000014500000145000001450000014500000145000 |
---|
506 | *00145000006d73766372742e646c6c000028500000285000002850000028500000285000002850 |
---|
507 | *000028500000285000004b45524e454c33322e646c6c0000000000000000000000000000000000 |
---|
508 | *00000000000000000000000000000000000000000000000000000000000000 |
---|
509 | newhex |
---|
510 | * |
---|
511 | rmfile ./gui.exe |
---|
512 | hunk ./launcher.c 1 |
---|
513 | -/* Setuptools Script Launcher for Windows |
---|
514 | - |
---|
515 | - This is a stub executable for Windows that functions somewhat like |
---|
516 | - Effbot's "exemaker", in that it runs a script with the same name but |
---|
517 | - a .py extension, using information from a #! line. It differs in that |
---|
518 | - it spawns the actual Python executable, rather than attempting to |
---|
519 | - hook into the Python DLL. This means that the script will run with |
---|
520 | - sys.executable set to the Python executable, where exemaker ends up with |
---|
521 | - sys.executable pointing to itself. (Which means it won't work if you try |
---|
522 | - to run another Python process using sys.executable.) |
---|
523 | - |
---|
524 | - To build/rebuild with mingw32, do this in the setuptools project directory: |
---|
525 | - |
---|
526 | - gcc -DGUI=0 -mno-cygwin -O -s -o setuptools/cli.exe launcher.c |
---|
527 | - gcc -DGUI=1 -mwindows -mno-cygwin -O -s -o setuptools/gui.exe launcher.c |
---|
528 | - |
---|
529 | - It links to msvcrt.dll, but this shouldn't be a problem since it doesn't |
---|
530 | - actually run Python in the same process. Note that using 'exec' instead |
---|
531 | - of 'spawn' doesn't work, because on Windows this leads to the Python |
---|
532 | - executable running in the *background*, attached to the same console |
---|
533 | - window, meaning you get a command prompt back *before* Python even finishes |
---|
534 | - starting. So, we have to use spawnv() and wait for Python to exit before |
---|
535 | - continuing. :( |
---|
536 | -*/ |
---|
537 | - |
---|
538 | -#include <stdlib.h> |
---|
539 | -#include <stdio.h> |
---|
540 | -#include <unistd.h> |
---|
541 | -#include <fcntl.h> |
---|
542 | -#include "windows.h" |
---|
543 | - |
---|
544 | -int fail(char *format, char *data) { |
---|
545 | - /* Print error message to stderr and return 2 */ |
---|
546 | - fprintf(stderr, format, data); |
---|
547 | - return 2; |
---|
548 | -} |
---|
549 | - |
---|
550 | - |
---|
551 | - |
---|
552 | - |
---|
553 | - |
---|
554 | -char *quoted(char *data) { |
---|
555 | - int i, ln = strlen(data), nb; |
---|
556 | - |
---|
557 | - /* We allocate twice as much space as needed to deal with worse-case |
---|
558 | - of having to escape everything. */ |
---|
559 | - char *result = calloc(ln*2+3, sizeof(char)); |
---|
560 | - char *presult = result; |
---|
561 | - |
---|
562 | - *presult++ = '"'; |
---|
563 | - for (nb=0, i=0; i < ln; i++) |
---|
564 | - { |
---|
565 | - if (data[i] == '\\') |
---|
566 | - nb += 1; |
---|
567 | - else if (data[i] == '"') |
---|
568 | - { |
---|
569 | - for (; nb > 0; nb--) |
---|
570 | - *presult++ = '\\'; |
---|
571 | - *presult++ = '\\'; |
---|
572 | - } |
---|
573 | - else |
---|
574 | - nb = 0; |
---|
575 | - *presult++ = data[i]; |
---|
576 | - } |
---|
577 | - |
---|
578 | - for (; nb > 0; nb--) /* Deal w trailing slashes */ |
---|
579 | - *presult++ = '\\'; |
---|
580 | - |
---|
581 | - *presult++ = '"'; |
---|
582 | - *presult++ = 0; |
---|
583 | - return result; |
---|
584 | -} |
---|
585 | - |
---|
586 | - |
---|
587 | - |
---|
588 | - |
---|
589 | - |
---|
590 | - |
---|
591 | - |
---|
592 | - |
---|
593 | - |
---|
594 | - |
---|
595 | -char *loadable_exe(char *exename) { |
---|
596 | - /* HINSTANCE hPython; DLL handle for python executable */ |
---|
597 | - char *result; |
---|
598 | - |
---|
599 | - /* hPython = LoadLibraryEx(exename, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); |
---|
600 | - if (!hPython) return NULL; */ |
---|
601 | - |
---|
602 | - /* Return the absolute filename for spawnv */ |
---|
603 | - result = calloc(MAX_PATH, sizeof(char)); |
---|
604 | - strncpy(result, exename, MAX_PATH); |
---|
605 | - /*if (result) GetModuleFileName(hPython, result, MAX_PATH); |
---|
606 | - |
---|
607 | - FreeLibrary(hPython); */ |
---|
608 | - return result; |
---|
609 | -} |
---|
610 | - |
---|
611 | - |
---|
612 | -char *find_exe(char *exename, char *script) { |
---|
613 | - char drive[_MAX_DRIVE], dir[_MAX_DIR], fname[_MAX_FNAME], ext[_MAX_EXT]; |
---|
614 | - char path[_MAX_PATH], c, *result; |
---|
615 | - |
---|
616 | - /* convert slashes to backslashes for uniform search below */ |
---|
617 | - result = exename; |
---|
618 | - while (c = *result++) if (c=='/') result[-1] = '\\'; |
---|
619 | - |
---|
620 | - _splitpath(exename, drive, dir, fname, ext); |
---|
621 | - if (drive[0] || dir[0]=='\\') { |
---|
622 | - return loadable_exe(exename); /* absolute path, use directly */ |
---|
623 | - } |
---|
624 | - /* Use the script's parent directory, which should be the Python home |
---|
625 | - (This should only be used for bdist_wininst-installed scripts, because |
---|
626 | - easy_install-ed scripts use the absolute path to python[w].exe |
---|
627 | - */ |
---|
628 | - _splitpath(script, drive, dir, fname, ext); |
---|
629 | - result = dir + strlen(dir) -1; |
---|
630 | - if (*result == '\\') result--; |
---|
631 | - while (*result != '\\' && result>=dir) *result-- = 0; |
---|
632 | - _makepath(path, drive, dir, exename, NULL); |
---|
633 | - return loadable_exe(path); |
---|
634 | -} |
---|
635 | - |
---|
636 | - |
---|
637 | -char **parse_argv(char *cmdline, int *argc) |
---|
638 | -{ |
---|
639 | - /* Parse a command line in-place using MS C rules */ |
---|
640 | - |
---|
641 | - char **result = calloc(strlen(cmdline), sizeof(char *)); |
---|
642 | - char *output = cmdline; |
---|
643 | - char c; |
---|
644 | - int nb = 0; |
---|
645 | - int iq = 0; |
---|
646 | - *argc = 0; |
---|
647 | - |
---|
648 | - result[0] = output; |
---|
649 | - while (isspace(*cmdline)) cmdline++; /* skip leading spaces */ |
---|
650 | - |
---|
651 | - do { |
---|
652 | - c = *cmdline++; |
---|
653 | - if (!c || (isspace(c) && !iq)) { |
---|
654 | - while (nb) {*output++ = '\\'; nb--; } |
---|
655 | - *output++ = 0; |
---|
656 | - result[++*argc] = output; |
---|
657 | - if (!c) return result; |
---|
658 | - while (isspace(*cmdline)) cmdline++; /* skip leading spaces */ |
---|
659 | - if (!*cmdline) return result; /* avoid empty arg if trailing ws */ |
---|
660 | - continue; |
---|
661 | - } |
---|
662 | - if (c == '\\') |
---|
663 | - ++nb; /* count \'s */ |
---|
664 | - else { |
---|
665 | - if (c == '"') { |
---|
666 | - if (!(nb & 1)) { iq = !iq; c = 0; } /* skip " unless odd # of \ */ |
---|
667 | - nb = nb >> 1; /* cut \'s in half */ |
---|
668 | - } |
---|
669 | - while (nb) {*output++ = '\\'; nb--; } |
---|
670 | - if (c) *output++ = c; |
---|
671 | - } |
---|
672 | - } while (1); |
---|
673 | -} |
---|
674 | - |
---|
675 | - |
---|
676 | - |
---|
677 | - |
---|
678 | -int run(int argc, char **argv, int is_gui) { |
---|
679 | - |
---|
680 | - char python[256]; /* python executable's filename*/ |
---|
681 | - char *pyopt; /* Python option */ |
---|
682 | - char script[256]; /* the script's filename */ |
---|
683 | - |
---|
684 | - int scriptf; /* file descriptor for script file */ |
---|
685 | - |
---|
686 | - char **newargs, **newargsp, **parsedargs; /* argument array for exec */ |
---|
687 | - char *ptr, *end; /* working pointers for string manipulation */ |
---|
688 | - int i, parsedargc; /* loop counter */ |
---|
689 | - |
---|
690 | - /* compute script name from our .exe name*/ |
---|
691 | - GetModuleFileName(NULL, script, sizeof(script)); |
---|
692 | - end = script + strlen(script); |
---|
693 | - while( end>script && *end != '.') |
---|
694 | - *end-- = '\0'; |
---|
695 | - *end-- = '\0'; |
---|
696 | - strcat(script, (GUI ? "-script.pyw" : "-script.py")); |
---|
697 | - |
---|
698 | - /* figure out the target python executable */ |
---|
699 | - |
---|
700 | - scriptf = open(script, O_RDONLY); |
---|
701 | - if (scriptf == -1) { |
---|
702 | - return fail("Cannot open %s\n", script); |
---|
703 | - } |
---|
704 | - end = python + read(scriptf, python, sizeof(python)); |
---|
705 | - close(scriptf); |
---|
706 | - |
---|
707 | - ptr = python-1; |
---|
708 | - while(++ptr < end && *ptr && *ptr!='\n' && *ptr!='\r') {;} |
---|
709 | - |
---|
710 | - *ptr-- = '\0'; |
---|
711 | - |
---|
712 | - if (strncmp(python, "#!", 2)) { |
---|
713 | - /* default to python.exe if no #! header */ |
---|
714 | - strcpy(python, "#!python.exe"); |
---|
715 | - } |
---|
716 | - |
---|
717 | - parsedargs = parse_argv(python+2, &parsedargc); |
---|
718 | - |
---|
719 | - /* Using spawnv() can fail strangely if you e.g. find the Cygwin |
---|
720 | - Python, so we'll make sure Windows can find and load it */ |
---|
721 | - |
---|
722 | - ptr = find_exe(parsedargs[0], script); |
---|
723 | - if (!ptr) { |
---|
724 | - return fail("Cannot find Python executable %s\n", parsedargs[0]); |
---|
725 | - } |
---|
726 | - |
---|
727 | - /* printf("Python executable: %s\n", ptr); */ |
---|
728 | - |
---|
729 | - /* Argument array needs to be |
---|
730 | - parsedargc + argc, plus 1 for null sentinel */ |
---|
731 | - |
---|
732 | - newargs = (char **)calloc(parsedargc + argc + 1, sizeof(char *)); |
---|
733 | - newargsp = newargs; |
---|
734 | - |
---|
735 | - *newargsp++ = quoted(ptr); |
---|
736 | - for (i = 1; i<parsedargc; i++) *newargsp++ = quoted(parsedargs[i]); |
---|
737 | - |
---|
738 | - *newargsp++ = quoted(script); |
---|
739 | - for (i = 1; i < argc; i++) *newargsp++ = quoted(argv[i]); |
---|
740 | - |
---|
741 | - *newargsp++ = NULL; |
---|
742 | - |
---|
743 | - /* printf("args 0: %s\nargs 1: %s\n", newargs[0], newargs[1]); */ |
---|
744 | - |
---|
745 | - if (is_gui) { |
---|
746 | - /* Use exec, we don't need to wait for the GUI to finish */ |
---|
747 | - execv(ptr, (const char * const *)(newargs)); |
---|
748 | - return fail("Could not exec %s", ptr); /* shouldn't get here! */ |
---|
749 | - } |
---|
750 | - |
---|
751 | - /* We *do* need to wait for a CLI to finish, so use spawn */ |
---|
752 | - return spawnv(P_WAIT, ptr, (const char * const *)(newargs)); |
---|
753 | -} |
---|
754 | - |
---|
755 | - |
---|
756 | -int WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, LPSTR lpCmd, int nShow) { |
---|
757 | - return run(__argc, __argv, GUI); |
---|
758 | -} |
---|
759 | - |
---|
760 | rmfile ./launcher.c |
---|
761 | hunk ./setup.py 10 |
---|
762 | execfile(convert_path('setuptools/command/__init__.py'), d) |
---|
763 | |
---|
764 | SETUP_COMMANDS = d['__all__'] |
---|
765 | -VERSION = "0.6c14dev" |
---|
766 | +VERSION = "0.6c16" |
---|
767 | |
---|
768 | from setuptools import setup, find_packages |
---|
769 | import sys |
---|
770 | hunk ./setup.py 20 |
---|
771 | name="setuptools", |
---|
772 | version=VERSION, |
---|
773 | description="Download, build, install, upgrade, and uninstall Python " |
---|
774 | - "packages -- easily!", |
---|
775 | + "packages -- easily! (zetuptoolz fork)", |
---|
776 | author="Phillip J. Eby", |
---|
777 | author_email="distutils-sig@python.org", |
---|
778 | license="PSF or ZPL", |
---|
779 | hunk ./setup.py 29 |
---|
780 | url = "http://pypi.python.org/pypi/setuptools", |
---|
781 | test_suite = 'setuptools.tests', |
---|
782 | packages = find_packages(), |
---|
783 | - package_data = {'setuptools':['*.exe','site-patch.py']}, |
---|
784 | + package_data = {'setuptools':['site-patch.py']}, |
---|
785 | |
---|
786 | py_modules = ['pkg_resources','easy_install'], |
---|
787 | zip_safe = (sys.version>="2.5"), # <2.5 needs unzipped for -m to work |
---|
788 | hunk ./setup.py 66 |
---|
789 | "dependency_links.txt = setuptools.command.egg_info:overwrite_arg", |
---|
790 | ], |
---|
791 | "console_scripts": [ |
---|
792 | - "easy_install = setuptools.command.easy_install:main", |
---|
793 | - "easy_install-%s = setuptools.command.easy_install:main" |
---|
794 | + "easy_install_z = setuptools.command.easy_install:main", |
---|
795 | + "easy_install_z-%s = setuptools.command.easy_install:main" |
---|
796 | % sys.version[:3] |
---|
797 | ], |
---|
798 | "setuptools.file_finders": |
---|
799 | hunk ./setuptools.egg-info/entry_points.txt 7 |
---|
800 | develop = setuptools.command.develop:develop |
---|
801 | setopt = setuptools.command.setopt:setopt |
---|
802 | build_py = setuptools.command.build_py:build_py |
---|
803 | +scriptsetup = setuptools.command.scriptsetup:scriptsetup |
---|
804 | saveopts = setuptools.command.saveopts:saveopts |
---|
805 | egg_info = setuptools.command.egg_info:egg_info |
---|
806 | register = setuptools.command.register:register |
---|
807 | hunk ./setuptools.egg-info/entry_points.txt 34 |
---|
808 | depends.txt = setuptools.command.egg_info:warn_depends_obsolete |
---|
809 | |
---|
810 | [console_scripts] |
---|
811 | -easy_install = setuptools.command.easy_install:main |
---|
812 | -easy_install-2.5 = setuptools.command.easy_install:main |
---|
813 | +easy_install_z-2.6 = setuptools.command.easy_install:main |
---|
814 | +easy_install_z = setuptools.command.easy_install:main |
---|
815 | |
---|
816 | [setuptools.file_finders] |
---|
817 | svn_cvs = setuptools.command.sdist:_default_revctrl |
---|
818 | hunk ./setuptools/__init__.py 10 |
---|
819 | from distutils.util import convert_path |
---|
820 | import os.path |
---|
821 | |
---|
822 | -__version__ = '0.7a1' |
---|
823 | +__version__ = '0.6c16dev' |
---|
824 | __all__ = [ |
---|
825 | 'setup', 'Distribution', 'Feature', 'Command', 'Extension', 'Require', |
---|
826 | 'find_packages' |
---|
827 | hunk ./setuptools/command/__init__.py 5 |
---|
828 | 'alias', 'bdist_egg', 'bdist_rpm', 'build_ext', 'build_py', 'develop', |
---|
829 | 'easy_install', 'egg_info', 'install', 'install_lib', 'rotate', 'saveopts', |
---|
830 | 'sdist', 'setopt', 'test', 'upload', 'install_egg_info', 'install_scripts', |
---|
831 | - 'register', 'bdist_wininst', |
---|
832 | + 'register', 'bdist_wininst', 'scriptsetup', |
---|
833 | ] |
---|
834 | |
---|
835 | import sys |
---|
836 | hunk ./setuptools/command/build_py.py 22 |
---|
837 | if 'data_files' in self.__dict__: del self.__dict__['data_files'] |
---|
838 | |
---|
839 | def run(self): |
---|
840 | + self.old_run() |
---|
841 | + if sys.platform == "win32": |
---|
842 | + from setuptools.command.scriptsetup import do_scriptsetup |
---|
843 | + do_scriptsetup() |
---|
844 | + |
---|
845 | + def old_run(self): |
---|
846 | """Build modules, packages, and copy data files to build directory""" |
---|
847 | if not self.py_modules and not self.packages: |
---|
848 | return |
---|
849 | hunk ./setuptools/command/easy_install.py 15 |
---|
850 | import sys, os.path, zipimport, shutil, tempfile, zipfile, re, stat, random |
---|
851 | from glob import glob |
---|
852 | from setuptools import Command |
---|
853 | +from setuptools import __version__ as setuptools_version |
---|
854 | from setuptools.sandbox import run_setup |
---|
855 | from distutils import log, dir_util |
---|
856 | from distutils.sysconfig import get_python_lib |
---|
857 | hunk ./setuptools/command/easy_install.py 577 |
---|
858 | |
---|
859 | def install_wrapper_scripts(self, dist): |
---|
860 | if not self.exclude_scripts: |
---|
861 | - for args in get_script_args(dist): |
---|
862 | + for args in get_script_args(dist, script_dir=self.script_dir): |
---|
863 | self.write_script(*args) |
---|
864 | |
---|
865 | |
---|
866 | hunk ./setuptools/command/easy_install.py 1568 |
---|
867 | return executable |
---|
868 | |
---|
869 | |
---|
870 | -def get_script_args(dist, executable=sys_executable, wininst=False): |
---|
871 | +def get_script_args(dist, executable=sys_executable, wininst=False, script_dir=None): |
---|
872 | """Yield write_script() argument tuples for a distribution's entrypoints""" |
---|
873 | spec = str(dist.as_requirement()) |
---|
874 | header = get_script_header("", executable, wininst) |
---|
875 | hunk ./setuptools/command/easy_install.py 1572 |
---|
876 | + generated_by = "# generated by zetuptoolz %s" % (setuptools_version,) |
---|
877 | + |
---|
878 | for group in 'console_scripts', 'gui_scripts': |
---|
879 | hunk ./setuptools/command/easy_install.py 1575 |
---|
880 | - for name,ep in dist.get_entry_map(group).items(): |
---|
881 | - script_text = ( |
---|
882 | + for name, ep in dist.get_entry_map(group).items(): |
---|
883 | + script_head, script_tail = (( |
---|
884 | "# EASY-INSTALL-ENTRY-SCRIPT: %(spec)r,%(group)r,%(name)r\n" |
---|
885 | hunk ./setuptools/command/easy_install.py 1578 |
---|
886 | + "%(generated_by)s\n" |
---|
887 | "__requires__ = %(spec)r\n" |
---|
888 | "import sys\n" |
---|
889 | "from pkg_resources import load_entry_point\n" |
---|
890 | hunk ./setuptools/command/easy_install.py 1583 |
---|
891 | "\n" |
---|
892 | + ) % locals(), ( |
---|
893 | "sys.exit(\n" |
---|
894 | " load_entry_point(%(spec)r, %(group)r, %(name)r)()\n" |
---|
895 | ")\n" |
---|
896 | hunk ./setuptools/command/easy_install.py 1587 |
---|
897 | - ) % locals() |
---|
898 | - if sys.platform=='win32' or wininst: |
---|
899 | - # On Windows/wininst, add a .py extension and an .exe launcher |
---|
900 | + ) % locals()) |
---|
901 | + |
---|
902 | + if wininst or sys.platform == "win32": |
---|
903 | + # On Windows/wininst, add a .py[w] extension. Delete any existing |
---|
904 | + # -script.py[w], .exe, and .exe.manifest. |
---|
905 | if group=='gui_scripts': |
---|
906 | hunk ./setuptools/command/easy_install.py 1593 |
---|
907 | - ext, launcher = '-script.pyw', 'gui.exe' |
---|
908 | - old = ['.pyw'] |
---|
909 | - new_header = re.sub('(?i)python.exe','pythonw.exe',header) |
---|
910 | + ext = '.pyw' |
---|
911 | + old = ['','.pyw','-script.pyw','.exe','.exe.manifest'] |
---|
912 | + which_python = 'pythonw.exe' |
---|
913 | + new_header = re.sub('(?i)python.exe', which_python, header) |
---|
914 | else: |
---|
915 | hunk ./setuptools/command/easy_install.py 1598 |
---|
916 | - ext, launcher = '-script.py', 'cli.exe' |
---|
917 | - old = ['.py','.pyc','.pyo'] |
---|
918 | - new_header = re.sub('(?i)pythonw.exe','python.exe',header) |
---|
919 | + ext = '.pyscript' |
---|
920 | + old = ['','.pyscript','.py','.pyc','.pyo','-script.py','.exe','.exe.manifest'] |
---|
921 | + which_python = 'python.exe' |
---|
922 | + new_header = re.sub('(?i)pythonw.exe', which_python, header) |
---|
923 | |
---|
924 | hunk ./setuptools/command/easy_install.py 1603 |
---|
925 | - if os.path.exists(new_header[2:-1]) or sys.platform!='win32': |
---|
926 | + len_ext = len(ext) |
---|
927 | + script_head += ( |
---|
928 | + "# If this script doesn't work for you, make sure that the %(ext)s\n" |
---|
929 | + "# extension is included in the PATHEXT environment variable, and is\n" |
---|
930 | + "# associated with %(which_python)s in the registry.\n" |
---|
931 | + "\n" |
---|
932 | + "if sys.argv[0].endswith(%(ext)r):\n" |
---|
933 | + " sys.argv[0] = sys.argv[0][:-%(len_ext)r]\n" |
---|
934 | + "\n" |
---|
935 | + ) % locals() |
---|
936 | + |
---|
937 | + if os.path.exists(new_header[2:-1]) or sys.platform != 'win32': |
---|
938 | hdr = new_header |
---|
939 | else: |
---|
940 | hdr = header |
---|
941 | hunk ./setuptools/command/easy_install.py 1618 |
---|
942 | - yield (name+ext, hdr+script_text, 't', [name+x for x in old]) |
---|
943 | - yield ( |
---|
944 | - name+'.exe', resource_string('setuptools', launcher), |
---|
945 | - 'b') # write in binary mode |
---|
946 | - yield (name+'.exe.manifest', _launcher_manifest % (name,), 't') |
---|
947 | - else: |
---|
948 | - # On other platforms, we assume the right thing to do is to |
---|
949 | - # just write the stub with no extension. |
---|
950 | - yield (name, header+script_text) |
---|
951 | - |
---|
952 | -_launcher_manifest = """ |
---|
953 | -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
---|
954 | -<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> |
---|
955 | - <assemblyIdentity version="1.0.0.0" |
---|
956 | - processorArchitecture="X86" |
---|
957 | - name="%s.exe" |
---|
958 | - type="win32"/> |
---|
959 | - |
---|
960 | - <!-- Identify the application security requirements. --> |
---|
961 | - <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> |
---|
962 | - <security> |
---|
963 | - <requestedPrivileges> |
---|
964 | - <requestedExecutionLevel level="asInvoker" uiAccess="false"/> |
---|
965 | - </requestedPrivileges> |
---|
966 | - </security> |
---|
967 | - </trustInfo> |
---|
968 | -</assembly>""" |
---|
969 | - |
---|
970 | - |
---|
971 | - |
---|
972 | - |
---|
973 | - |
---|
974 | - |
---|
975 | - |
---|
976 | - |
---|
977 | - |
---|
978 | - |
---|
979 | - |
---|
980 | - |
---|
981 | - |
---|
982 | - |
---|
983 | - |
---|
984 | - |
---|
985 | - |
---|
986 | - |
---|
987 | - |
---|
988 | + yield (name+ext, hdr + script_head + script_tail, 't', [name+x for x in old]) |
---|
989 | |
---|
990 | hunk ./setuptools/command/easy_install.py 1620 |
---|
991 | + # Also write a shell script that runs the .pyscript, for cygwin. |
---|
992 | + # |
---|
993 | + # We can't use a Python script, because the Python interpreter that we want |
---|
994 | + # to use is the native Windows one, which won't understand a cygwin path. |
---|
995 | + # Windows paths written with forward slashes are universally understood |
---|
996 | + # (by native Python, cygwin Python, and bash), so we'll use 'cygpath -m' to |
---|
997 | + # get the directory from which the script was run in that form. This makes |
---|
998 | + # the cygwin script and .pyscript position-independent, provided they are |
---|
999 | + # in the same directory. |
---|
1000 | |
---|
1001 | hunk ./setuptools/command/easy_install.py 1630 |
---|
1002 | + def quote_path(s): |
---|
1003 | + return "\\'".join("'" + p.replace('\\', '/') + "'" for p in s.split("'")) |
---|
1004 | |
---|
1005 | hunk ./setuptools/command/easy_install.py 1633 |
---|
1006 | + pyscript = quote_path("/"+name+ext) |
---|
1007 | + python_path = quote_path(sys.executable) |
---|
1008 | + shell_script_text = ( |
---|
1009 | + '#!/bin/sh\n' |
---|
1010 | + '%(generated_by)s\n' |
---|
1011 | + '\n' |
---|
1012 | + 'ScriptDir=`cygpath -m "$0/.."`\n' |
---|
1013 | + '%(python_path)s "${ScriptDir}"%(pyscript)s "$@"\n' |
---|
1014 | + ) % locals() |
---|
1015 | + yield (name, shell_script_text, 'b') |
---|
1016 | + else: |
---|
1017 | + # On other platforms, we assume the right thing to do is to |
---|
1018 | + # just write the stub with no extension. |
---|
1019 | + yield (name, header + script_head + script_tail) |
---|
1020 | |
---|
1021 | |
---|
1022 | def rmtree(path, ignore_errors=False, onerror=auto_chmod): |
---|
1023 | hunk ./setuptools/command/install.py 52 |
---|
1024 | self.path_file = None |
---|
1025 | self.extra_dirs = '' |
---|
1026 | |
---|
1027 | - |
---|
1028 | def run(self): |
---|
1029 | hunk ./setuptools/command/install.py 53 |
---|
1030 | + self.old_run() |
---|
1031 | + if sys.platform == "win32": |
---|
1032 | + from setuptools.command.scriptsetup import do_scriptsetup |
---|
1033 | + do_scriptsetup() |
---|
1034 | + |
---|
1035 | + def old_run(self): |
---|
1036 | # Explicit request for old-style install? Just do it |
---|
1037 | if self.old_and_unmanageable or self.single_version_externally_managed: |
---|
1038 | return _install.run(self) |
---|
1039 | hunk ./setuptools/command/install.py 83 |
---|
1040 | else: |
---|
1041 | self.do_egg_install() |
---|
1042 | |
---|
1043 | - |
---|
1044 | - |
---|
1045 | - |
---|
1046 | - |
---|
1047 | - |
---|
1048 | def do_egg_install(self): |
---|
1049 | |
---|
1050 | easy_install = self.distribution.get_command_class('easy_install') |
---|
1051 | hunk ./setuptools/tests/win_script_wrapper.txt 1 |
---|
1052 | -Python Script Wrapper for Windows |
---|
1053 | -================================= |
---|
1054 | +Python Scripts on Windows |
---|
1055 | +========================= |
---|
1056 | |
---|
1057 | hunk ./setuptools/tests/win_script_wrapper.txt 4 |
---|
1058 | -setuptools includes wrappers for Python scripts that allows them to be |
---|
1059 | -executed like regular windows programs. There are 2 wrappers, once |
---|
1060 | -for command-line programs, cli.exe, and one for graphica programs, |
---|
1061 | -gui.exe. These programs are almost identical, function pretty much |
---|
1062 | -the same way, and are generated from the same source file. The |
---|
1063 | -wrapper programs are used by copying them to the directory containing |
---|
1064 | -the script they are to wrap and with the same name as the script they |
---|
1065 | -are to wrap. In the rest of this document, we'll give an example that |
---|
1066 | -will illustrate this. |
---|
1067 | +zetuptoolz can install Python scripts in such a way that they can be |
---|
1068 | +run from a Windows Command Prompt, a Cygwin shell, or a Windows shortcut. |
---|
1069 | +It implements this in a different way to setuptools (which used .exe |
---|
1070 | +wrappers as described at |
---|
1071 | +<http://svn.python.org/projects/sandbox/trunk/setuptools/setuptools/tests/win_script_wrapper.txt>). |
---|
1072 | |
---|
1073 | hunk ./setuptools/tests/win_script_wrapper.txt 10 |
---|
1074 | -Let's create a simple script, foo-script.py: |
---|
1075 | +There are two kinds of scripts -- command-line and graphical. |
---|
1076 | +Command-line scripts have a .pyscript extension, which should be |
---|
1077 | +associated with python.exe. Graphical scripts have a .pyw extension, |
---|
1078 | +which should be associated with pythonw.exe. The .pyscript and .pyw |
---|
1079 | +extensions should be listed in the PATHEXT environment variable. |
---|
1080 | |
---|
1081 | hunk ./setuptools/tests/win_script_wrapper.txt 16 |
---|
1082 | - >>> import os, sys, tempfile |
---|
1083 | - >>> from setuptools.command.easy_install import nt_quote_arg |
---|
1084 | - >>> sample_directory = tempfile.mkdtemp() |
---|
1085 | - >>> open(os.path.join(sample_directory, 'foo-script.py'), 'w').write( |
---|
1086 | - ... """#!%(python_exe)s |
---|
1087 | - ... import sys |
---|
1088 | - ... input = repr(sys.stdin.read()) |
---|
1089 | - ... print sys.argv[0][-14:] |
---|
1090 | - ... print sys.argv[1:] |
---|
1091 | - ... print input |
---|
1092 | - ... if __debug__: |
---|
1093 | - ... print 'non-optimized' |
---|
1094 | - ... """ % dict(python_exe=nt_quote_arg(sys.executable))) |
---|
1095 | +The reason for introducing a new .pyscript extension is to work around |
---|
1096 | +a problem with naming conflicts between modules and scripts. When Python |
---|
1097 | +runs a script file, it adds the parent directory of that file to the |
---|
1098 | +start of the sys.path. So any scripts in that directory that have the |
---|
1099 | +same name as a module, will shadow the module and be imported in |
---|
1100 | +preference to it. This would particularly be a problem when running scripts |
---|
1101 | +installed to <pythondir>\Scripts. Using a .pyscript extension still |
---|
1102 | +allows the script to be run, but prevents it from being unintentionally |
---|
1103 | +imported. |
---|
1104 | |
---|
1105 | hunk ./setuptools/tests/win_script_wrapper.txt 26 |
---|
1106 | -Note that the script starts with a Unix-style '#!' line saying which |
---|
1107 | -Python executable to run. The wrapper will use this to find the |
---|
1108 | -correct Python executable. |
---|
1109 | +First let's install zetuptoolz (we could also just build it): |
---|
1110 | |
---|
1111 | hunk ./setuptools/tests/win_script_wrapper.txt 28 |
---|
1112 | -We'll also copy cli.exe to the sample-directory with the name foo.exe: |
---|
1113 | + C:\> cd path\to\zetuptoolz |
---|
1114 | |
---|
1115 | hunk ./setuptools/tests/win_script_wrapper.txt 30 |
---|
1116 | - >>> import pkg_resources |
---|
1117 | - >>> open(os.path.join(sample_directory, 'foo.exe'), 'wb').write( |
---|
1118 | - ... pkg_resources.resource_string('setuptools', 'cli.exe') |
---|
1119 | - ... ) |
---|
1120 | + C:\path\to\zetuptoolz> python setup.py install |
---|
1121 | + ... |
---|
1122 | + Setting up environment to run scripts... |
---|
1123 | + Done: associate the .pyscript extension with Python.File. |
---|
1124 | + Done: add .pyscript to the user environment variable PATHEXT. |
---|
1125 | + Done: add .pyw to the user environment variable PATHEXT. |
---|
1126 | |
---|
1127 | hunk ./setuptools/tests/win_script_wrapper.txt 37 |
---|
1128 | -When the copy of cli.exe, foo.exe in this example, runs, it examines |
---|
1129 | -the path name it was run with and computes a Python script path name |
---|
1130 | -by removing the '.exe' suffic and adding the '-script.py' suffix. (For |
---|
1131 | -GUI programs, the suffix '-script-pyw' is added.) This is why we |
---|
1132 | -named out script the way we did. Now we can run out script by running |
---|
1133 | -the wrapper: |
---|
1134 | + Changes have been made to the persistent environment, but not |
---|
1135 | + in this Command Prompt. Running installed Python scripts will |
---|
1136 | + only work from new Command Prompts opened from now on. |
---|
1137 | |
---|
1138 | hunk ./setuptools/tests/win_script_wrapper.txt 41 |
---|
1139 | - >>> import os |
---|
1140 | - >>> input, output = os.popen4('"'+nt_quote_arg(os.path.join(sample_directory, 'foo.exe')) |
---|
1141 | - ... + r' arg1 "arg 2" "arg \"2\\\"" "arg 4\\" "arg5 a\\b"') |
---|
1142 | - >>> input.write('hello\nworld\n') |
---|
1143 | - >>> input.close() |
---|
1144 | - >>> print output.read(), |
---|
1145 | - \foo-script.py |
---|
1146 | - ['arg1', 'arg 2', 'arg "2\\"', 'arg 4\\', 'arg5 a\\\\b'] |
---|
1147 | - 'hello\nworld\n' |
---|
1148 | - non-optimized |
---|
1149 | +If you had built or installed it or a previous version (since 0.6c16dev) |
---|
1150 | +before, this would have said something like: |
---|
1151 | |
---|
1152 | hunk ./setuptools/tests/win_script_wrapper.txt 44 |
---|
1153 | -This example was a little pathological in that it exercised windows |
---|
1154 | -(MS C runtime) quoting rules: |
---|
1155 | + Setting up environment to run scripts... |
---|
1156 | + Already done: associate the .pyscript extension with Python.File. |
---|
1157 | + Already done: add .pyscript to the user environment variable PATHEXT. |
---|
1158 | + Already done: add .pyw to the user environment variable PATHEXT. |
---|
1159 | |
---|
1160 | hunk ./setuptools/tests/win_script_wrapper.txt 49 |
---|
1161 | -- Strings containing spaces are surrounded by double quotes. |
---|
1162 | +(In fact zetuptoolz will re-check that the .pyscript association and |
---|
1163 | +PATHEXT variable are set up correctly when you build or install *any* |
---|
1164 | +distribution with it.) |
---|
1165 | |
---|
1166 | hunk ./setuptools/tests/win_script_wrapper.txt 53 |
---|
1167 | -- Double quotes in strings need to be escaped by preceding them with |
---|
1168 | - back slashes. |
---|
1169 | +A zetuptoolz-created command-line script -- say mycmd.pyscript -- typically |
---|
1170 | +looks something like this: |
---|
1171 | |
---|
1172 | hunk ./setuptools/tests/win_script_wrapper.txt 56 |
---|
1173 | -- One or more backslashes preceding double quotes quotes need to be |
---|
1174 | - escaped by preceding each of them them with back slashes. |
---|
1175 | + #!c:\Python26\python.exe |
---|
1176 | + # EASY-INSTALL-ENTRY-SCRIPT: 'application==1.0','console_scripts','mycmd' |
---|
1177 | + # generated by zetuptoolz 0.6c16dev |
---|
1178 | + __requires__ = 'application==1.0' |
---|
1179 | + import sys, site |
---|
1180 | + from pkg_resources import load_entry_point |
---|
1181 | |
---|
1182 | hunk ./setuptools/tests/win_script_wrapper.txt 63 |
---|
1183 | + # If this script doesn't work for you, make sure that the .pyscript |
---|
1184 | + # extension is included in the PATHEXT environment variable, and is |
---|
1185 | + # associated with python.exe in the registry. |
---|
1186 | |
---|
1187 | hunk ./setuptools/tests/win_script_wrapper.txt 67 |
---|
1188 | -Specifying Python Command-line Options |
---|
1189 | --------------------------------------- |
---|
1190 | + if sys.argv[0].endswith('.pyscript'): |
---|
1191 | + sys.argv[0] = sys.argv[0][:-9] |
---|
1192 | |
---|
1193 | hunk ./setuptools/tests/win_script_wrapper.txt 70 |
---|
1194 | -You can specify a single argument on the '#!' line. This can be used |
---|
1195 | -to specify Python options like -O, to run in optimized mode or -i |
---|
1196 | -to start the interactive interpreter. You can combine multiple |
---|
1197 | -options as usual. For example, to run in optimized mode and |
---|
1198 | -enter the interpreter after running the script, you could use -Oi: |
---|
1199 | + sys.exit( |
---|
1200 | + load_entry_point('application==1.0', 'console_scripts', 'mycmd')() |
---|
1201 | + ) |
---|
1202 | |
---|
1203 | hunk ./setuptools/tests/win_script_wrapper.txt 74 |
---|
1204 | - >>> open(os.path.join(sample_directory, 'foo-script.py'), 'w').write( |
---|
1205 | - ... """#!%(python_exe)s -Oi |
---|
1206 | - ... import sys |
---|
1207 | - ... input = repr(sys.stdin.read()) |
---|
1208 | - ... print sys.argv[0][-14:] |
---|
1209 | - ... print sys.argv[1:] |
---|
1210 | - ... print input |
---|
1211 | - ... if __debug__: |
---|
1212 | - ... print 'non-optimized' |
---|
1213 | - ... sys.ps1 = '---' |
---|
1214 | - ... """ % dict(python_exe=nt_quote_arg(sys.executable))) |
---|
1215 | +(The Unix-style '#!' line isn't really necessary; in fact it will be |
---|
1216 | +ignored if we run this from a Command Prompt, although it may help if the |
---|
1217 | +user is using a Unix-style shell.) |
---|
1218 | |
---|
1219 | hunk ./setuptools/tests/win_script_wrapper.txt 78 |
---|
1220 | - >>> input, output = os.popen4(nt_quote_arg(os.path.join(sample_directory, 'foo.exe'))) |
---|
1221 | - >>> input.close() |
---|
1222 | - >>> print output.read(), |
---|
1223 | - \foo-script.py |
---|
1224 | - [] |
---|
1225 | - '' |
---|
1226 | - --- |
---|
1227 | +Suppose that 'mycmd' just prints out sys.argv. In that case, if we run it |
---|
1228 | +we'll get: |
---|
1229 | |
---|
1230 | hunk ./setuptools/tests/win_script_wrapper.txt 81 |
---|
1231 | -Testing the GUI Version |
---|
1232 | ------------------------ |
---|
1233 | + C:\> mycmd.pyscript arg1 "arg 2" "arg \"2\\\"" "arg 4\" "still4 arg5\b" |
---|
1234 | + ['arg1', 'arg 2', 'arg "2\\"', 'arg 4" still4', 'arg5\\b'] |
---|
1235 | |
---|
1236 | hunk ./setuptools/tests/win_script_wrapper.txt 84 |
---|
1237 | -Now let's test the GUI version with the simple scipt, bar-script.py: |
---|
1238 | +Omitting the .pyscript extension has the same effect: |
---|
1239 | |
---|
1240 | hunk ./setuptools/tests/win_script_wrapper.txt 86 |
---|
1241 | - >>> import os, sys, tempfile |
---|
1242 | - >>> from setuptools.command.easy_install import nt_quote_arg |
---|
1243 | - >>> sample_directory = tempfile.mkdtemp() |
---|
1244 | - >>> open(os.path.join(sample_directory, 'bar-script.pyw'), 'w').write( |
---|
1245 | - ... """#!%(python_exe)s |
---|
1246 | - ... import sys |
---|
1247 | - ... open(sys.argv[1], 'wb').write(repr(sys.argv[2])) |
---|
1248 | - ... """ % dict(python_exe=nt_quote_arg(sys.executable))) |
---|
1249 | + C:\> mycmd arg1 "arg 2" "arg \"2\\\"" "arg 4\" "still4 arg5\b" |
---|
1250 | + ['arg1', 'arg 2', 'arg "2\\"', 'arg 4" still4', 'arg5\\b'] |
---|
1251 | |
---|
1252 | hunk ./setuptools/tests/win_script_wrapper.txt 89 |
---|
1253 | -We'll also copy gui.exe to the sample-directory with the name bar.exe: |
---|
1254 | +Note that the arguments are parsed only by cmd.exe, ensuring exact |
---|
1255 | +compatibility with Windows quoting conventions. |
---|
1256 | |
---|
1257 | hunk ./setuptools/tests/win_script_wrapper.txt 92 |
---|
1258 | - >>> import pkg_resources |
---|
1259 | - >>> open(os.path.join(sample_directory, 'bar.exe'), 'wb').write( |
---|
1260 | - ... pkg_resources.resource_string('setuptools', 'gui.exe') |
---|
1261 | - ... ) |
---|
1262 | +Unicode arguments to the script are preserved. However, they cannot be read |
---|
1263 | +from sys.argv due to <http://bugs.python.org/issue2128> (a workaround is |
---|
1264 | +given there). |
---|
1265 | |
---|
1266 | hunk ./setuptools/tests/win_script_wrapper.txt 96 |
---|
1267 | -Finally, we'll run the script and check the result: |
---|
1268 | +GUI scripts work in an identical way, but use the .pyw extension and are |
---|
1269 | +associated with pythonw.exe. |
---|
1270 | |
---|
1271 | hunk ./setuptools/tests/win_script_wrapper.txt 99 |
---|
1272 | - >>> import os |
---|
1273 | - >>> input, output = os.popen4('"'+nt_quote_arg(os.path.join(sample_directory, 'bar.exe')) |
---|
1274 | - ... + r' "%s" "Test Argument"' % os.path.join(sample_directory, 'test_output.txt')) |
---|
1275 | - >>> input.close() |
---|
1276 | - >>> print output.read() |
---|
1277 | - <BLANKLINE> |
---|
1278 | - >>> print open(os.path.join(sample_directory, 'test_output.txt'), 'rb').read() |
---|
1279 | - 'Test Argument' |
---|
1280 | |
---|
1281 | hunk ./setuptools/tests/win_script_wrapper.txt 100 |
---|
1282 | +Cygwin shell |
---|
1283 | +------------ |
---|
1284 | |
---|
1285 | hunk ./setuptools/tests/win_script_wrapper.txt 103 |
---|
1286 | -We're done with the sample_directory: |
---|
1287 | - |
---|
1288 | - >>> import shutil |
---|
1289 | - >>> shutil.rmtree(sample_directory) |
---|
1290 | +When running a script from the Windows Command Prompt, or other Windows |
---|
1291 | +shells that honour PATHEXT, the .pyscript wrapper is sufficient. However, |
---|
1292 | +the Cygwin bash shell does not honour PATHEXT. |
---|
1293 | |
---|
1294 | hunk ./setuptools/tests/win_script_wrapper.txt 107 |
---|
1295 | +So that Cygwin shell users do not have to type the .pyscript extension, |
---|
1296 | +we also write a shell script (with no extension and a "#!/bin/sh" shebang |
---|
1297 | +line) alongside the .pyscript file. This script invokes the Python interpreter |
---|
1298 | +(normally the one that ran easy_install, or "python.exe" in the case of a |
---|
1299 | +cross-installation for a Windows target), giving the .pyscript name and |
---|
1300 | +passing on its own arguments. |
---|
1301 | |
---|
1302 | Context: |
---|
1303 | |
---|
1304 | [setuptools/sandbox.py: Fix a problem with sandbox swapping 'open' and 'file' builtins. Support sandbox access to os.devnull. Equivalent to change in setuptools svn revision 80621 (2010-04-29). |
---|
1305 | david-sarah@jacaranda.org**20100731025037 |
---|
1306 | Ignore-this: 36c0c6788fd65bf87e681c15072c721f |
---|
1307 | ] |
---|
1308 | [merge changes and remove unused import |
---|
1309 | zooko@zooko.com**20100523175508 |
---|
1310 | Ignore-this: adbcb7e313eb9d9bdcae2fe7f3dbbe6f |
---|
1311 | ] |
---|
1312 | [Fix wrong keyword argument for specifying test tunner to unittest |
---|
1313 | phillip.eby**20100312184011 |
---|
1314 | Ignore-this: fbdaecd6c31ed8ee9dc809ecfffdc5ac |
---|
1315 | ] |
---|
1316 | [Yet another Sourceforge download fix |
---|
1317 | phillip.eby**20100201163817 |
---|
1318 | Ignore-this: 2ffaaf67be7073140918fc7b8a291015 |
---|
1319 | ] |
---|
1320 | [Fix incorrect error message/traceback when no download |
---|
1321 | phillip.eby**20091105155809 |
---|
1322 | Ignore-this: 3311bc52a624fe9b71144e9ade5152d3 |
---|
1323 | is found. |
---|
1324 | ] |
---|
1325 | [Fix for issue 88 |
---|
1326 | phillip.eby**20091028170953 |
---|
1327 | Ignore-this: 2869fb03fe37ee5c67f93304ea4ece74 |
---|
1328 | ] |
---|
1329 | [Fix the elusive "double upload bdist_wininst" bug |
---|
1330 | phillip.eby**20091019214636 |
---|
1331 | Ignore-this: c659bd76108f664448892933a0854376 |
---|
1332 | ] |
---|
1333 | [Fix lost launcher changes, string.split(). |
---|
1334 | phillip.eby**20091019210206 |
---|
1335 | Ignore-this: a232501033c73ebabb57920e21ce26a3 |
---|
1336 | ] |
---|
1337 | [Add a better link to the files |
---|
1338 | phillip.eby**20091014025059 |
---|
1339 | Ignore-this: 3a11d77458ee07d65fcc89be710a7246 |
---|
1340 | ] |
---|
1341 | [Fixes for Windwos 64 and Vista UAC errors |
---|
1342 | phillip.eby**20091012202033 |
---|
1343 | Ignore-this: 8075132bffa551a7b104790b174306b8 |
---|
1344 | ] |
---|
1345 | [Major updates and fixes include: |
---|
1346 | phillip.eby**20091012195846 |
---|
1347 | Ignore-this: 221fc598c157bb09110610c61606e477 |
---|
1348 | |
---|
1349 | * Fix for the Python 2.6.3 build_ext API change |
---|
1350 | * Support for the most recent Sourceforge download link insanity |
---|
1351 | * Support for SVN 1.6 |
---|
1352 | * Stop crashing on certain types of HTTP error |
---|
1353 | * Stop re-trying URLs that already failed retrieval once |
---|
1354 | * Fixes for various dependency management problems such as looping |
---|
1355 | builds, re-downloading packages already present on sys.path (but not |
---|
1356 | in a registered "site" directory), and randomly preferring local -f |
---|
1357 | packages over local installed packages |
---|
1358 | * Prevent lots of spurious "already imported from another path" warnings |
---|
1359 | (e.g. when pkg_resources is imported late) |
---|
1360 | * Ensure C libraries (as opposed to extensions) are also built when |
---|
1361 | doing bdist_egg |
---|
1362 | * Fixed running the "test" command under Python 2.6+ |
---|
1363 | |
---|
1364 | Other changes: |
---|
1365 | * Misc. documentation fixes |
---|
1366 | * Improved Jython support |
---|
1367 | * Fewer warnings under Python 2.6+ |
---|
1368 | * Warn when 'packages' uses paths instead of package names (because it |
---|
1369 | causes other problems, like spurious "already imported" warnings) |
---|
1370 | * Stop using /usr/bin/sw_vers on Mac OS (replaced w/'platform' module |
---|
1371 | calls) |
---|
1372 | |
---|
1373 | Note: This is NOT a merge from Distribute; upon review, many of the |
---|
1374 | tracker-submitted patches used as a basis for forking were incorrect, |
---|
1375 | incomplete, introduced new bugs, or were not addressing the root |
---|
1376 | causes. (E.g., one of the changes in this patch fixes three superficially |
---|
1377 | unrelated issues in the setuptools bug tracker.) Careful review will be |
---|
1378 | required if you want to merge this work back into Distribute. |
---|
1379 | ] |
---|
1380 | [Fixes for Windwos 64 and Vista UAC errors |
---|
1381 | phillip.eby**20091012202033 |
---|
1382 | Ignore-this: d09ca72d9c23a001579fb5bf84a28f9f |
---|
1383 | ] |
---|
1384 | [VERSION=0.6c14dev |
---|
1385 | zooko@zooko.com**20090724121405 |
---|
1386 | Ignore-this: 412b004941e16aceb5a343bdb9099f62 |
---|
1387 | ] |
---|
1388 | [add cli.exe and gui.exe |
---|
1389 | zooko@zooko.com**20090724121235 |
---|
1390 | Ignore-this: 1eccf7f75a87956daed9668c5481aaa0 |
---|
1391 | ] |
---|
1392 | [setup: VERSION=0.6c13 |
---|
1393 | zooko@zooko.com**20090703214638 |
---|
1394 | Ignore-this: ee8d7e9c97e932f271fd65bd5a9274b8 |
---|
1395 | ] |
---|
1396 | [manually undo the patch "Backport pkgutil, pydoc, and doctest from the 2.5 trunk to setuptools." |
---|
1397 | zooko@zooko.com**20090703214517 |
---|
1398 | Ignore-this: 993ea673533b35a6967682667d87e46d |
---|
1399 | ] |
---|
1400 | [Automatically add instdir to all_site_dirs, and go ahead and write a site.py even if it isn't on the PYTHONPATH. |
---|
1401 | zooko@zooko.com**20090205150048 |
---|
1402 | Ignore-this: 7717d45de7ea00d11ec3752507d7135a |
---|
1403 | This is to support the use case of installing with --prefix into a directory that isn't on the PYTHONPATH, and then adding it to the PYTHONPATH and running. |
---|
1404 | Some people who are in the habit of using PYTHONPATH like this prefer to pass the PYTHONPATH explicitly at the beginning of each command-line, like this: |
---|
1405 | |
---|
1406 | $ PYTHONPATH=./support/lib/python2.5/site-packages python ./docoolthing.py |
---|
1407 | |
---|
1408 | instead of by setting a persistent environment variable in their shell, like this: |
---|
1409 | |
---|
1410 | $ export PYTHONPATH=./support/lib/python2.5/site-packages |
---|
1411 | $ python ./docoolthing.py |
---|
1412 | |
---|
1413 | This is the topic of http://bugs.python.org/setuptools/issue54 |
---|
1414 | |
---|
1415 | ] |
---|
1416 | [add sys.path to the index to search for easy_install |
---|
1417 | zooko@zooko.com**20090203004109 |
---|
1418 | Ignore-this: eac7b84940c5c290ec5f1a8931576606 |
---|
1419 | ] |
---|
1420 | [hand built egg, renamed to not specify py2.5, added cli.exe and gui.exe, and about to add _pkgutil.py |
---|
1421 | zooko@zooko.com**20081025151204 |
---|
1422 | Ignore-this: a4b1837fa6429dcffa4996b129a19352 |
---|
1423 | ] |
---|
1424 | [change exception into warning when target install dir isn't pth-capable |
---|
1425 | zooko@zooko.com**20081115190501 |
---|
1426 | Ignore-this: 5965276b28210180712c5370954cd550 |
---|
1427 | This eases the common use case of "./setup.py install --prefix=foo" |
---|
1428 | followed by some other mechanism to make sure that ./foo/... is |
---|
1429 | importable, and makes setuptools behave more like distutils in this regard. |
---|
1430 | |
---|
1431 | ] |
---|
1432 | [try to mkdir the install directory |
---|
1433 | zooko@zooko.com**20081115190420 |
---|
1434 | Ignore-this: 4454e4a559e4114de0d96ac5b351e2ad |
---|
1435 | This eases the common use case of "./setup.py install --prefix=somedir" |
---|
1436 | and makes setuptools behave more like distutils in this case. |
---|
1437 | ] |
---|
1438 | [leave the PYTHONPATH dirs at the front of the sys.path |
---|
1439 | zooko@zooko.com**20081115185932 |
---|
1440 | Ignore-this: 494791a9f73bdf3ebf08657e6d7d98fb |
---|
1441 | This is in accordance with |
---|
1442 | http://www.python.org/doc/2.5.2/inst/search-path.html , which says "The |
---|
1443 | PYTHONPATH variable can be set to a list of paths that will be added to |
---|
1444 | the beginning of sys.path.", and it resolves an objection many people |
---|
1445 | have which impels them to ban setuptools from systems they administrate. |
---|
1446 | |
---|
1447 | ] |
---|
1448 | [call it 0.6c10dev |
---|
1449 | zooko@zooko.com**20081025122705 |
---|
1450 | Ignore-this: 48835c56f9a7015c829480e160b74e01 |
---|
1451 | ] |
---|
1452 | [Keep site directories (e.g. site-packages) from being included in |
---|
1453 | phillip.eby**20080924172009 |
---|
1454 | .pth files. |
---|
1455 | ] |
---|
1456 | [Fix for http://bugs.python.org/setuptools/issue39 |
---|
1457 | phillip.eby**20080924170535] |
---|
1458 | [Doc typo fix |
---|
1459 | phillip.eby**20080924165637] |
---|
1460 | [Fix for http://bugs.python.org/setuptools/issue47 - more md5 usage |
---|
1461 | phillip.eby**20080924165229] |
---|
1462 | [Fix for http://bugs.python.org/setuptools/issue27 (Jython shebang |
---|
1463 | phillip.eby**20080924164220 |
---|
1464 | lines) |
---|
1465 | ] |
---|
1466 | [Fix for http://bugs.python.org/setuptools/issue37 - missing |
---|
1467 | phillip.eby**20080911154326 |
---|
1468 | __loader__ running under Google App Engine. |
---|
1469 | ] |
---|
1470 | [Added 'test_runner'. (Note: this is a new feature and should not |
---|
1471 | phillip.eby**20080821215416 |
---|
1472 | be backported to the 0.6 branch.) |
---|
1473 | ] |
---|
1474 | [Ensure that _full_name is set on all shared libs before extensions |
---|
1475 | phillip.eby**20080821213758 |
---|
1476 | are checked for shared lib usage. (problem reported by Andi Vajda) |
---|
1477 | ] |
---|
1478 | [Fix for http://bugs.python.org/setuptools/issue34 |
---|
1479 | phillip.eby**20080821192547] |
---|
1480 | [Fix for http://bugs.python.org/setuptools/issue9 |
---|
1481 | phillip.eby**20080821191924] |
---|
1482 | [Fix for http://bugs.python.org/setuptools/issue29 |
---|
1483 | phillip.eby**20080821190929] |
---|
1484 | [Fix for http://bugs.python.org/setuptools/issue11 |
---|
1485 | phillip.eby**20080821185402] |
---|
1486 | [Candidate fix for http://bugs.python.org/setuptools/issue20 |
---|
1487 | phillip.eby**20080821184159] |
---|
1488 | [Fix for http://bugs.python.org/setuptools/issue31 |
---|
1489 | phillip.eby**20080821183437] |
---|
1490 | [Fix for http://bugs.python.org/setuptools/issue16 |
---|
1491 | phillip.eby**20080821181703] |
---|
1492 | [Fix for http://bugs.python.org/setuptools/issue5 |
---|
1493 | phillip.eby**20080821175952] |
---|
1494 | [Fix for http://bugs.python.org/setuptools/issue7 |
---|
1495 | phillip.eby**20080821175532] |
---|
1496 | [Enhanced error message per http://bugs.python.org/setuptools/issue28 |
---|
1497 | phillip.eby**20080821174725] |
---|
1498 | [Fix for http://bugs.python.org/setuptools/issue23 |
---|
1499 | phillip.eby**20080821174205] |
---|
1500 | [Misc. documentation updates/fixes |
---|
1501 | phillip.eby**20080821172042] |
---|
1502 | [More SVN 1.5 fixing |
---|
1503 | phillip.eby**20080724211623] |
---|
1504 | [Support subversion 1.5 |
---|
1505 | phillip.eby**20080716135651] |
---|
1506 | [Support installing pywin32 as an egg, albeit without registering |
---|
1507 | phillip.eby**20080310162225 |
---|
1508 | COM support, shortcuts, etc. |
---|
1509 | ] |
---|
1510 | [Fixed issues with empty resource names for resource_listdir et al. |
---|
1511 | phillip.eby**20080215234944] |
---|
1512 | [Fixed missing import |
---|
1513 | phillip.eby**20080215234919] |
---|
1514 | [Warn if a namespace package is declared, but its parent |
---|
1515 | phillip.eby**20080214211714 |
---|
1516 | package is not. |
---|
1517 | ] |
---|
1518 | [Support upgrading existing setuptools when run from a setup.py |
---|
1519 | phillip.eby**20080214193528 |
---|
1520 | script (but not during easy_install, unfortunately). |
---|
1521 | ] |
---|
1522 | [Fix interactions between the various "require" options, |
---|
1523 | phillip.eby**20080119024651 |
---|
1524 | so that downloads aren't repeated and needed eggs are |
---|
1525 | always installed, even if they were downloaded to the |
---|
1526 | setup directory already. |
---|
1527 | ] |
---|
1528 | [chmod/test cleanups and Jython support. |
---|
1529 | phillip.eby**20080118214709] |
---|
1530 | [Update Pyrex/swig_sources workaround for newer Pyrex versions |
---|
1531 | phillip.eby**20080115175223] |
---|
1532 | [Fix not picking up dependency links from recursive dependencies. |
---|
1533 | phillip.eby**20080115174417] |
---|
1534 | [Fix gui.exe launcher issue reported by Alexander Michael and Robin Dunn. |
---|
1535 | phillip.eby**20080103234438] |
---|
1536 | [Fix dependency on Python 2.5 |
---|
1537 | phillip.eby**20071026022031] |
---|
1538 | [Prevent --help-commands and other junk from showing under |
---|
1539 | phillip.eby**20071008114807 |
---|
1540 | Python 2.5 when running "easy_install" directly. |
---|
1541 | ] |
---|
1542 | [Fix cross-platform line-end problem with SOURCES.txt: distutils |
---|
1543 | phillip.eby**20070926170339 |
---|
1544 | doesn't expect manifest files to be shipped across platforms. |
---|
1545 | ] |
---|
1546 | [Remove all references to the Cheese Shop, and switch to using |
---|
1547 | phillip.eby**20070904155318 |
---|
1548 | the new PyPI "/simple" REST API. |
---|
1549 | ] |
---|
1550 | [Fix import problems with system-installed nested namespace packages, |
---|
1551 | phillip.eby**20070904040757 |
---|
1552 | due to the parent package not having the child package as an attribute. |
---|
1553 | ] |
---|
1554 | [Fix precedence issue between .egg and .egg-info packages |
---|
1555 | phillip.eby**20070904035125 |
---|
1556 | when both are installed in site-packages. |
---|
1557 | ] |
---|
1558 | [Fix downloading from ftp: URLs (which don't have a content-type). |
---|
1559 | phillip.eby**20070824031432] |
---|
1560 | [Fix a problem with the findall() fix. :( |
---|
1561 | phillip.eby**20070712173106] |
---|
1562 | [Fix distutils.filelist.findall() crashing on broken symlinks. Fix |
---|
1563 | phillip.eby**20070711173402 |
---|
1564 | egg_info failures on new, uncommitted SVN directories. |
---|
1565 | ] |
---|
1566 | [Misc. fixes: |
---|
1567 | phillip.eby**20070531172056 |
---|
1568 | |
---|
1569 | * Don't treat directories with a '.' in the name as packages |
---|
1570 | * Don't include ez_setup in find_packages() |
---|
1571 | * HTML-decode URLs scraped from web pages (d'oh!) |
---|
1572 | * Fix cache dir defaults on Windows when multiple env vars used |
---|
1573 | * Doc updates |
---|
1574 | ] |
---|
1575 | [Setting svn:eol properties everywhere where they weren't set yet. |
---|
1576 | guido.van.rossum**20070425195151] |
---|
1577 | [Changed setuptools.package_index.PackageIndex.open_url to include the |
---|
1578 | jim.fulton**20070309161241 |
---|
1579 | url in the exception. |
---|
1580 | ] |
---|
1581 | [Fix problem activating dependencies for tests |
---|
1582 | phillip.eby**20070302012227] |
---|
1583 | [Fix "test" command possibly failing if an older version of the project |
---|
1584 | phillip.eby**20070224220920 |
---|
1585 | being tested is installed on sys.path ahead of the test source directory. |
---|
1586 | ] |
---|
1587 | [Add --local-snapshots-ok flag, to allow building eggs from projects |
---|
1588 | phillip.eby**20070223202729 |
---|
1589 | installed using "setup.py develop". |
---|
1590 | ] |
---|
1591 | [Get rid of 'sets' module usage under Python 2.4+, so that no warnings |
---|
1592 | phillip.eby**20070223192457 |
---|
1593 | are issued by Python 2.6. |
---|
1594 | ] |
---|
1595 | [Indicate when dependency processing is finished, so that you can tell |
---|
1596 | phillip.eby**20070223192254 |
---|
1597 | which dependencies go with what. (Suggested by Ian Bicking) |
---|
1598 | ] |
---|
1599 | [Respect possible entry point override of 'easy_install' command. |
---|
1600 | phillip.eby**20070220224540] |
---|
1601 | [Fix error if script contains null byte. |
---|
1602 | phillip.eby**20070217175345] |
---|
1603 | [Internals updated for relative .egg-link support |
---|
1604 | phillip.eby**20070215193702] |
---|
1605 | [Support .egg-link paths being relative |
---|
1606 | phillip.eby**20070215193508] |
---|
1607 | [Add --egg-path option to force .egg-link files to use relative paths |
---|
1608 | phillip.eby**20070215191941 |
---|
1609 | (allowing them to be shared across platforms on a networked drive). |
---|
1610 | ] |
---|
1611 | [Ensure extracted libraries have correct permissions on Posix systems |
---|
1612 | phillip.eby**20070208200816 |
---|
1613 | (e.g. Cygwin, which is where I found the problem.) |
---|
1614 | ] |
---|
1615 | [Match Python 2.5 pydoc |
---|
1616 | phillip.eby**20070206125526] |
---|
1617 | [Fix script language detection so that scripts built on Windows are |
---|
1618 | phillip.eby**20070201195949 |
---|
1619 | correctly identified as still being Python code! |
---|
1620 | ] |
---|
1621 | [Fixed mangling line endings when an old-style source script came from |
---|
1622 | phillip.eby**20070201185706 |
---|
1623 | Windows. |
---|
1624 | ] |
---|
1625 | [Fix #! parsing problems w/whitespace in quoted strings or at the end |
---|
1626 | phillip.eby**20070124205726 |
---|
1627 | of the #! line. |
---|
1628 | ] |
---|
1629 | [If a page can't be spidered, warn and ignore rather than aborting. |
---|
1630 | phillip.eby**20070124153900] |
---|
1631 | [Fix "bashism" in eggsecutable header. |
---|
1632 | phillip.eby**20070124152212] |
---|
1633 | [Incorporate README fix from 0.6 branch. |
---|
1634 | phillip.eby**20070124152148] |
---|
1635 | [Workaround for Python 2.5 distutils bug: when bdist_wininst files are |
---|
1636 | phillip.eby**20070109192242 |
---|
1637 | uploaded, they are marked as suitable for "any" Python version, even if |
---|
1638 | an explicit --target-version was specified. (This needs to be fixed in |
---|
1639 | the distutils too.) |
---|
1640 | ] |
---|
1641 | [Fix not making Cygwin .dll's executable when installing in non-zip-safe |
---|
1642 | phillip.eby**20070109185723 |
---|
1643 | mode. |
---|
1644 | ] |
---|
1645 | [Argh, again. |
---|
1646 | phillip.eby**20070109182136] |
---|
1647 | [Backport from branch. |
---|
1648 | phillip.eby**20070109181432] |
---|
1649 | [Don't double-upload .exe files under Python 2.5. :( |
---|
1650 | phillip.eby**20070109180831] |
---|
1651 | [Formatting fixes for README |
---|
1652 | phillip.eby**20070109175934] |
---|
1653 | [Fix not generating correct .pth for parent namespace packages when |
---|
1654 | phillip.eby**20070105181531 |
---|
1655 | installing --single-version-externally-managed. |
---|
1656 | ] |
---|
1657 | [Add Basic Auth support for http URLs with embedded credentials. If an |
---|
1658 | phillip.eby**20061230160314 |
---|
1659 | authenticated page contains links to the same protocol and host, those |
---|
1660 | links should inherit the same credentials. |
---|
1661 | ] |
---|
1662 | [Fix os.open() sandboxing code that refused anything but read-only access. |
---|
1663 | phillip.eby**20061230030609] |
---|
1664 | [Switch default package-index to cheeseshop.python.org, and make |
---|
1665 | phillip.eby**20061229175025 |
---|
1666 | setuptools' home page its cheeseshop page. |
---|
1667 | ] |
---|
1668 | [Whoops; dupes were already taken care of elsewhere. |
---|
1669 | phillip.eby**20061229174103] |
---|
1670 | [Overhaul Windows script wrappers to support bdist_wininst better. |
---|
1671 | phillip.eby**20061229173314 |
---|
1672 | Scripts installed with bdist_wininst will always use #!python.exe or |
---|
1673 | #!pythonw.exe as the executable name, and the wrappers will look for the |
---|
1674 | executable in the script's parent directory. Since bdist_wininst |
---|
1675 | scripts are installed to Python2X/Scripts, this will look for |
---|
1676 | Python2X/python.exe. Scripts installed by easy_install, however, will |
---|
1677 | still use an absolute executable path. Also fixed: some egg<->exe |
---|
1678 | roundtripping issues, and script #! lines on Windows can now have an |
---|
1679 | arbitrary number of arguments following the Python exe name, and the |
---|
1680 | exe name is quoted if necessary, following the MS command line parsing |
---|
1681 | rules. |
---|
1682 | ] |
---|
1683 | [Partial support for cross-platform generation of bdist_wininst .exe's. |
---|
1684 | phillip.eby**20061229012949 |
---|
1685 | Unfortunately, bdist_wininst doesn't fix up #! lines, so python.exe or |
---|
1686 | pythonw.exe have to be on PATH for generated scripts to work. This |
---|
1687 | could probably be fixed up with a post-install script, but that's a |
---|
1688 | job for another day. |
---|
1689 | ] |
---|
1690 | [Work around a distutils bdist_wininst bug: if the user has specified an |
---|
1691 | phillip.eby**20061229005834 |
---|
1692 | --install-lib via a configuration file, the path is hardcoded into the |
---|
1693 | .exe file in place of PLATLIB/ or PURELIB/. (This bug should also be |
---|
1694 | fixed in distutils' bdist_wininst!) |
---|
1695 | ] |
---|
1696 | [Fix import problem for bdist_rpm w/Python<2.5 |
---|
1697 | phillip.eby**20061229004032] |
---|
1698 | [Removed all special support for Sourceforge mirrors, since SF finally |
---|
1699 | phillip.eby**20061229003104 |
---|
1700 | replaced their crazy mirror system with something sane. |
---|
1701 | ] |
---|
1702 | [New installation instructions and credits |
---|
1703 | phillip.eby**20061229000623] |
---|
1704 | [Fix problem w/' ' in sys.executable on Windows. |
---|
1705 | phillip.eby**20061201033900] |
---|
1706 | [Fixed not allowing os.open() of paths outside the sandbox, even if they |
---|
1707 | phillip.eby**20061024182935 |
---|
1708 | are opened read-only (e.g. /dev/urandom). |
---|
1709 | ] |
---|
1710 | [Use cross-platform relative paths in .pth if target is anywhere inside the |
---|
1711 | phillip.eby**20060929192410 |
---|
1712 | .pth file's directory. |
---|
1713 | ] |
---|
1714 | [Fix problem generating "eggsecutable" header if dist/ dir doesn't exst yet. |
---|
1715 | phillip.eby**20060928044752] |
---|
1716 | [Allow explicit selection of Sourceforge mirror(s) with --sf-mirror, and |
---|
1717 | phillip.eby**20060927015648 |
---|
1718 | further refine download/retry algorithm. |
---|
1719 | ] |
---|
1720 | [Should've used distutils.log.warn instead of warnings.warn |
---|
1721 | phillip.eby**20060926201505] |
---|
1722 | [Handle empty revision numbers in SVN 1.4 "entries" format |
---|
1723 | phillip.eby**20060926161741] |
---|
1724 | [Fix SF download problems when server returns HTML instead of a 404. Use |
---|
1725 | phillip.eby**20060925212419 |
---|
1726 | sf-mirrors.telecommunity.com as a fallback to get SF mirror info if the |
---|
1727 | first dl.sourceforge.net attempt doesn't work. |
---|
1728 | ] |
---|
1729 | [Fix "dev" versions being considered newer than release candidates. :( |
---|
1730 | phillip.eby**20060925175846] |
---|
1731 | [Add support for "eggsecutable" headers: a /bin/sh script that is prepended |
---|
1732 | phillip.eby**20060922000356 |
---|
1733 | to an .egg file to allow it to be run as a script on Unix-ish platforms. |
---|
1734 | (This is mainly so that setuptools itself can have a single-file installer |
---|
1735 | on Unix, without doing multiple downloads, dealing with firewalls, etc.) |
---|
1736 | ] |
---|
1737 | [Fix broken imports. |
---|
1738 | phillip.eby**20060921222831] |
---|
1739 | [Fix bdist_wininst files not being uploaded by "upload" |
---|
1740 | phillip.eby**20060921221340] |
---|
1741 | [Support uploading bdist_rpm files on older Python versions (2.3/2.4) |
---|
1742 | phillip.eby**20060921215859] |
---|
1743 | [Fix easy_install not recognizing win32.exe files that include a custom bitmap. |
---|
1744 | phillip.eby**20060921205907] |
---|
1745 | [Retain 2.3/2.4 compatibility as well... |
---|
1746 | phillip.eby**20060920202057] |
---|
1747 | [Python 2.5 compatibility fix |
---|
1748 | phillip.eby**20060920201100] |
---|
1749 | [Support svn 1.4 working copy format |
---|
1750 | phillip.eby**20060917161854] |
---|
1751 | [Prevent deprecation warnings coming from generated scripts when |
---|
1752 | phillip.eby**20060906205428 |
---|
1753 | sys.executable contains non-ASCII characters. |
---|
1754 | ] |
---|
1755 | [Make "setup.py develop" of a setuptools-using project install |
---|
1756 | phillip.eby**20060906195435 |
---|
1757 | setuptools, if needed, instead of only downloading the egg. |
---|
1758 | ] |
---|
1759 | [Don't check installation directory writability and site/.pth setup when |
---|
1760 | phillip.eby**20060906194339 |
---|
1761 | using --editable. |
---|
1762 | ] |
---|
1763 | [Support setuptools .egg being in current directory when bootstrapping on |
---|
1764 | phillip.eby**20060906181013 |
---|
1765 | an offline machine. Output what version/location is conflicting when a |
---|
1766 | newer version of setuptools is requested. |
---|
1767 | ] |
---|
1768 | [Added quoting of script arguments and extended the quoting logic to |
---|
1769 | jim.fulton**20060822194248 |
---|
1770 | handle embedded quotes. |
---|
1771 | |
---|
1772 | Added support for passing a single argument on the shebang line to |
---|
1773 | pass things like -O and -i. |
---|
1774 | |
---|
1775 | Fixed bug in handling trailing whitespace in Python command. |
---|
1776 | ] |
---|
1777 | [Fix wrong Mac OS X installation paths. |
---|
1778 | phillip.eby**20060813174259] |
---|
1779 | [Sync pkgutil from trunk |
---|
1780 | phillip.eby**20060728235814] |
---|
1781 | [Fix a problem with eggs specified directly on PYTHONPATH on |
---|
1782 | phillip.eby**20060721165418 |
---|
1783 | case-insensitive filesystems possibly not showing up in the default |
---|
1784 | working set. |
---|
1785 | ] |
---|
1786 | [Update MD5 matching for current PyPI code. :( |
---|
1787 | phillip.eby**20060720204649] |
---|
1788 | [Identify the setuptools version as part of the User-Agent string when |
---|
1789 | phillip.eby**20060720203727 |
---|
1790 | spidering pages or downloading files. |
---|
1791 | ] |
---|
1792 | [Make sdist-from-sdist builds keep the exact same version number, even if |
---|
1793 | phillip.eby**20060718164942 |
---|
1794 | --tag-date was used to build the original sdist. |
---|
1795 | ] |
---|
1796 | [Edit an sdist's setup.cfg to include any egg_info options that were used |
---|
1797 | phillip.eby**20060718163207 |
---|
1798 | to build it. |
---|
1799 | ] |
---|
1800 | [Restored support for extra_path when using backward compatibility mode. |
---|
1801 | phillip.eby**20060718155946] |
---|
1802 | [Fix three problems reported by Bob Ippolito and Jim Fulton |
---|
1803 | phillip.eby**20060714233215] |
---|
1804 | [Fix doubled --tag-build option. |
---|
1805 | phillip.eby**20060711194919] |
---|
1806 | [Fix doc typo |
---|
1807 | phillip.eby**20060711194829] |
---|
1808 | [Don't warn about possible misspelling if we know that a project with |
---|
1809 | phillip.eby**20060711182341 |
---|
1810 | that name does in fact exist. |
---|
1811 | ] |
---|
1812 | [Crosslink "Creating your own package index" to the new docs. |
---|
1813 | phillip.eby**20060711011451] |
---|
1814 | [Add documentation for package index "API" (layout/content rules) |
---|
1815 | phillip.eby**20060711011215] |
---|
1816 | [Reduce screenscraping required for a package index. Homepage and |
---|
1817 | phillip.eby**20060711000616 |
---|
1818 | download URLs can now be marked with 'rel="download"' and |
---|
1819 | 'rel="homepage"' respectively, and the 'Index of Packages' string is no |
---|
1820 | longer required. Since PyPI doesn't yet support rel="" attributes, the |
---|
1821 | old "<th>"-matching code remains, as does the MD5 scraping. |
---|
1822 | ] |
---|
1823 | [Allow use of file:// URLs for --index-url. |
---|
1824 | phillip.eby**20060710225403] |
---|
1825 | [Fix not recognizing HTML 404 pages from package indexes. |
---|
1826 | phillip.eby**20060710215412] |
---|
1827 | [Ensure that sys.path_importer_cache is updated when an existing zipfile |
---|
1828 | phillip.eby**20060710212514 |
---|
1829 | or directory is deleted. |
---|
1830 | ] |
---|
1831 | [Don't warn about missing README(.txt) unless creating an sdist |
---|
1832 | phillip.eby**20060710211427] |
---|
1833 | [Tweak docs for subversion release stuff to make better use of new |
---|
1834 | phillip.eby**20060710204533 |
---|
1835 | options. |
---|
1836 | ] |
---|
1837 | [Update aliases for easier release using new options |
---|
1838 | phillip.eby**20060710203858] |
---|
1839 | [Add --no-date and --no-svn-revision options to make creating release |
---|
1840 | phillip.eby**20060710203345 |
---|
1841 | snapshots easier. |
---|
1842 | ] |
---|
1843 | [Fix "register" command not necessarily reflecting build tags. |
---|
1844 | phillip.eby**20060710200448] |
---|
1845 | [Include more detailed version ranges spec, and make Requirement.specs a |
---|
1846 | phillip.eby**20060710195406 |
---|
1847 | public/documented attribute. |
---|
1848 | ] |
---|
1849 | [Fix broken error message for socket error during upload. |
---|
1850 | phillip.eby**20060710194835] |
---|
1851 | [Fix ftp:// directory listing URLs from causing a crash when used in the |
---|
1852 | phillip.eby**20060620211924 |
---|
1853 | URL or Download URL slot on PyPI. |
---|
1854 | ] |
---|
1855 | [Implement detection of non-Python scripts, as described in |
---|
1856 | phillip.eby**20060615201616 |
---|
1857 | http://mail.python.org/pipermail/distutils-sig/2006-June/006359.html |
---|
1858 | ] |
---|
1859 | [Allow .py files found by the include_package_data option to be |
---|
1860 | phillip.eby**20060609182428 |
---|
1861 | automatically included. Remove duplicate data file matches if both |
---|
1862 | include_package_data and package_data are used to refer to the same |
---|
1863 | files. |
---|
1864 | ] |
---|
1865 | [Fix mysterious errors during initial setuptools install, caused by |
---|
1866 | phillip.eby**20060609175510 |
---|
1867 | ez_setup trying to run easy_install twice, due to a code fallthru |
---|
1868 | after deleting the egg from which it's running. |
---|
1869 | ] |
---|
1870 | [Fix sometimes not detecting local packages installed outside of "site" |
---|
1871 | phillip.eby**20060609164203 |
---|
1872 | directories. |
---|
1873 | ] |
---|
1874 | [Fix local --find-links eggs not being copied except with --always-copy. |
---|
1875 | phillip.eby**20060607200552] |
---|
1876 | [Fix bdist_egg not including files in .egg-info subdirectories. |
---|
1877 | phillip.eby**20060607193220] |
---|
1878 | [Clarify the limitations of get_provider(packagename) |
---|
1879 | phillip.eby**20060607183701] |
---|
1880 | [Fix a duplicate path insertion bug on case-insensitive filesystems, |
---|
1881 | phillip.eby**20060607182702 |
---|
1882 | found by Markku Mielityinen. |
---|
1883 | ] |
---|
1884 | [Fix a problem w/relative path generation if you install an egg whose |
---|
1885 | phillip.eby**20060530175627 |
---|
1886 | name begins with 'import'. |
---|
1887 | ] |
---|
1888 | [Don't make things warnings that aren't; update info text for |
---|
1889 | phillip.eby**20060526190328 |
---|
1890 | --multi-version. |
---|
1891 | ] |
---|
1892 | [Don't install or update a ``site.py`` patch when installing to a |
---|
1893 | phillip.eby**20060523190927 |
---|
1894 | ``PYTHONPATH`` directory with ``--multi-version``, unless an |
---|
1895 | ``easy-install.pth`` file is already in use there. |
---|
1896 | ] |
---|
1897 | [Merge doc update from 0.6b1 |
---|
1898 | phillip.eby**20060523190645] |
---|
1899 | [Remove outdated MD5 signatures |
---|
1900 | phillip.eby**20060523190613] |
---|
1901 | [Better ambiguity management: accept #egg name/version even if processing |
---|
1902 | phillip.eby**20060512221619 |
---|
1903 | what appears to be a correctly-named distutils file, and ignore .egg |
---|
1904 | files with no '-', since valid Python .egg files always have a version |
---|
1905 | number (but Scheme eggs often don't). |
---|
1906 | ] |
---|
1907 | [Python 2.5 supports -m w/zipped modules, and Python 2.3 has no -m, so |
---|
1908 | phillip.eby**20060428181218 |
---|
1909 | there's no need to treat script modules as zip-unsafe unless we're |
---|
1910 | running 2.4 exactly. |
---|
1911 | ] |
---|
1912 | [Remove out-of-date info about zipfile analysis |
---|
1913 | phillip.eby**20060428180407] |
---|
1914 | [Fix entry point parsing when a standalone module name has whitespace |
---|
1915 | phillip.eby**20060427180244 |
---|
1916 | between it and the extras. |
---|
1917 | ] |
---|
1918 | [Forgot to document script wrappers |
---|
1919 | phillip.eby**20060426001053] |
---|
1920 | [Add "internals" documentation describing file formats, sys.path |
---|
1921 | phillip.eby**20060425223207 |
---|
1922 | manipulation, zip file issues, file naming, etc., mostly by reference to |
---|
1923 | other documentation and a few distutils-sig posts. |
---|
1924 | ] |
---|
1925 | [Catch 'module' names in internal module name list as well. |
---|
1926 | phillip.eby**20060424205018] |
---|
1927 | [Strip 'module' from the end of compiled extension modules when computing |
---|
1928 | phillip.eby**20060424202232 |
---|
1929 | the name of a .py loader/wrapper. Python's import machinery ignores |
---|
1930 | this suffix when searching for an extension module. |
---|
1931 | ] |
---|
1932 | [Recognize 'U' as a valid read-only mode for open() |
---|
1933 | phillip.eby**20060421173855] |
---|
1934 | [Ignore bdist_dumb distributions when looking for downloads. |
---|
1935 | phillip.eby**20060421170643] |
---|
1936 | [Support file:// links to directories in --find-links, so that |
---|
1937 | phillip.eby**20060419001858 |
---|
1938 | easy_install can build packages from local source checkouts. |
---|
1939 | ] |
---|
1940 | [Backport whitespace normalization from 2.5 trunk. |
---|
1941 | phillip.eby**20060419001321] |
---|
1942 | [Split ``get_platform()`` into ``get_supported_platform()`` and |
---|
1943 | phillip.eby**20060418152706 |
---|
1944 | ``get_build_platform()`` to work around a Mac versioning problem that caused |
---|
1945 | the behavior of ``compatible_platforms()`` to be platform specific. |
---|
1946 | ] |
---|
1947 | [Handle being run via -m with no __file__ if done from a zipfile in |
---|
1948 | phillip.eby**20060418042518 |
---|
1949 | Python 2.5. |
---|
1950 | ] |
---|
1951 | [Changes to the experimental 'Feature' feature to be compatible with |
---|
1952 | phillip.eby**20060418034051 |
---|
1953 | Python 2.5 distutils, so the tests don't bomb under 2.5 |
---|
1954 | ] |
---|
1955 | [Make errors __repr__ the same as the default exception repr in Python |
---|
1956 | phillip.eby**20060418032910 |
---|
1957 | 2.5, so doctests will work right. :( |
---|
1958 | ] |
---|
1959 | [Move api_tests.txt file to tests subpackage for easier integration |
---|
1960 | phillip.eby**20060418030838 |
---|
1961 | w/stdlib test suites. |
---|
1962 | ] |
---|
1963 | [Backport pkgutil, pydoc, and doctest from the 2.5 trunk to setuptools |
---|
1964 | phillip.eby**20060418030316 |
---|
1965 | 0.7 trunk. (Sideport?) Setuptools 0.7 will install these in place of |
---|
1966 | the 2.3/2.4 versions (at least of pydoc and doctest) to let them work |
---|
1967 | properly with eggs. pkg_resources now depends on the 2.5 pkgutil, which |
---|
1968 | is included here as _pkgutil, to work around the fact that some system |
---|
1969 | packagers will install setuptools without overriding the stdlib modules. |
---|
1970 | But users who install their own setuptools will get them, and the system |
---|
1971 | packaged people probably don't need them. |
---|
1972 | ] |
---|
1973 | [Trap absolute paths given as package_dirs, which foul up things terribly. |
---|
1974 | phillip.eby**20060415053216] |
---|
1975 | [First round of prepping setuptools for inclusion in Python 2.5: move |
---|
1976 | phillip.eby**20060414193838 |
---|
1977 | site.py to setuptools/site-patch.py; reinstate 'python -m easy_install' |
---|
1978 | support; use distutils' "upload" command when running under 2.5. |
---|
1979 | ] |
---|
1980 | [Namespace package doc tweaks. |
---|
1981 | phillip.eby**20060414191737] |
---|
1982 | [Don't eagerly import namespace packages. This was the big reason for |
---|
1983 | phillip.eby**20060414191324 |
---|
1984 | branching to 0.7 now, as I wanted this wart gone before anything went |
---|
1985 | into Python 2.5. But it's gone now, yay! |
---|
1986 | ] |
---|
1987 | [Bump trunk version # to 0.7a1.dev, and clear out old version history |
---|
1988 | phillip.eby**20060414181050 |
---|
1989 | from release notes. |
---|
1990 | ] |
---|
1991 | [Added automatic retry for Sourceforge mirrors. The new download process is |
---|
1992 | phillip.eby**20060409202549 |
---|
1993 | to first just try dl.sourceforge.net, then randomly select mirror IPs and |
---|
1994 | remove ones that fail, until something works. The removed IPs stay removed |
---|
1995 | for the remainder of the run. |
---|
1996 | ] |
---|
1997 | [Bump version to 0.6a12dev... but hopefully it will in fact be 0.6b1. |
---|
1998 | phillip.eby**20060330003843] |
---|
1999 | [Misc. doc formatting/phrasing corrections |
---|
2000 | phillip.eby**20060330000010] |
---|
2001 | [0.6a11 release |
---|
2002 | phillip.eby**20060329235925] |
---|
2003 | [Fix typo |
---|
2004 | phillip.eby**20060329234035] |
---|
2005 | [Added ``test_loader`` keyword to support custom test loaders. |
---|
2006 | phillip.eby**20060329233241] |
---|
2007 | [More docs for .py#egg and ``dependency_links`` |
---|
2008 | phillip.eby**20060329230916] |
---|
2009 | [Added ``setuptools.file_finders`` entry point group to allow implementing |
---|
2010 | phillip.eby**20060329222338 |
---|
2011 | revision control plugins. |
---|
2012 | ] |
---|
2013 | [Added ``--identity`` option to ``upload`` command. |
---|
2014 | phillip.eby**20060329214501] |
---|
2015 | [Added ``ExtractionError`` and ``ResourceManager.extraction_error()`` so that |
---|
2016 | phillip.eby**20060329211122 |
---|
2017 | cache permission problems get a more user-friendly explanation of the |
---|
2018 | problem, and so that programs can catch and handle extraction errors if they |
---|
2019 | need to. |
---|
2020 | ] |
---|
2021 | [Fix a problem with the test loader finding the bundled doctest's |
---|
2022 | phillip.eby**20060329210943 |
---|
2023 | TestCase subclasses and trying to run them, too. |
---|
2024 | ] |
---|
2025 | [Implement dependency_links feature, courtesy of Tres Seaver's rough |
---|
2026 | phillip.eby**20060329192355 |
---|
2027 | draft of a patch. |
---|
2028 | ] |
---|
2029 | [Support complex .pth files in win32.exe->.egg conversion; this addition |
---|
2030 | phillip.eby**20060329054140 |
---|
2031 | lets easy_install handle pywin32... well, almost. You still have to |
---|
2032 | deal with the "system" DLLs yourself. |
---|
2033 | ] |
---|
2034 | [Fall back to a reasonable default Sourceforge address if the machine is |
---|
2035 | phillip.eby**20060328230658 |
---|
2036 | unable to obtain the mirror IP list via DNS. |
---|
2037 | ] |
---|
2038 | [Enhanced test loader to scan packages as well as modules, and call |
---|
2039 | phillip.eby**20060328224057 |
---|
2040 | ``additional_tests()`` if present to get non-unittest tests. |
---|
2041 | ] |
---|
2042 | [Support Python 2.5, which now includes its own install_egg_info command. |
---|
2043 | phillip.eby**20060328190752] |
---|
2044 | [Eliminate spurious warnings due to case-insensitive file systems |
---|
2045 | phillip.eby**20060328170706] |
---|
2046 | [Fix ZipImportError when overwriting a zipfile with the same name/version |
---|
2047 | phillip.eby**20060324174902 |
---|
2048 | but different contents. |
---|
2049 | ] |
---|
2050 | [Remove use of obsolete --ignore-conflicts-at-my-risk option |
---|
2051 | phillip.eby**20060324174817] |
---|
2052 | [Ensure SOURCES.txt references itself even the first time it is generated |
---|
2053 | phillip.eby**20060324173452 |
---|
2054 | (i.e., when it didn't exist prior to egg_info being run). |
---|
2055 | ] |
---|
2056 | [Don't generate a loader .py file in .egg file for extensions that aren't |
---|
2057 | phillip.eby**20060321190455 |
---|
2058 | actually built. This prevents problems w/customized setups that make |
---|
2059 | some extensions optional (e.g. scipy.distutils). |
---|
2060 | ] |
---|
2061 | [Use relative paths in ``.pth`` files when eggs are being installed to the |
---|
2062 | phillip.eby**20060320230622 |
---|
2063 | same directory as the ``.pth`` file. This maximizes portability of the |
---|
2064 | target directory when building applications that contain eggs. |
---|
2065 | ] |
---|
2066 | [Added ``easy_install-N.N`` script(s) for convenience when using multiple |
---|
2067 | phillip.eby**20060320222838 |
---|
2068 | Python versions. |
---|
2069 | ] |
---|
2070 | [Fix a problem with fetch() method backward compatibility. |
---|
2071 | phillip.eby**20060317180554] |
---|
2072 | [Tweak the nspkg.pth hack to avoid creating a module if there *is* an |
---|
2073 | phillip.eby**20060317171619 |
---|
2074 | __init__.py installed. It may be that this should check for .pyc/.pyo, |
---|
2075 | but system packagers don't normally remove them. |
---|
2076 | ] |
---|
2077 | [Support namespace packages in conjunction with system packagers, by omitting |
---|
2078 | phillip.eby**20060317165723 |
---|
2079 | the installation of any ``__init__.py`` files for namespace packages, and |
---|
2080 | adding a special ``.pth`` file to create a working package in ``sys.modules``. |
---|
2081 | |
---|
2082 | ] |
---|
2083 | [Preserve timestamps and permissions when "unpacking" (copying) a |
---|
2084 | phillip.eby**20060317155205 |
---|
2085 | directory tree. |
---|
2086 | ] |
---|
2087 | [Added automatic handling of installation conflicts. Eggs are now shifted to |
---|
2088 | phillip.eby**20060311003909 |
---|
2089 | the front of sys.path, in an order consistent with where they came from, |
---|
2090 | making EasyInstall seamlessly co-operate with system package managers. |
---|
2091 | |
---|
2092 | The ``--delete-conflicting`` and ``--ignore-conflicts-at-my-risk`` options |
---|
2093 | are now no longer necessary, and will generate warnings at the end of a |
---|
2094 | run if you use them. |
---|
2095 | ] |
---|
2096 | [Record recent changes in the release notes. |
---|
2097 | phillip.eby**20060304000222] |
---|
2098 | [Made ``--single-version-externally-managed`` automatic when ``--root`` is |
---|
2099 | phillip.eby**20060304000020 |
---|
2100 | used, so that most system packagers won't require special support for |
---|
2101 | setuptools. |
---|
2102 | ] |
---|
2103 | [Don't recurse into subdirectories when scanning --find-links |
---|
2104 | phillip.eby**20060303235100] |
---|
2105 | [Fix setup_requires/tests_require/etc. not using setup.cfg or other |
---|
2106 | phillip.eby**20060228212253 |
---|
2107 | config files for option defaults. |
---|
2108 | ] |
---|
2109 | [When installing setup_requires/tests_require packages, use |
---|
2110 | phillip.eby**20060228205927 |
---|
2111 | --multi-version so that '.' doesn't have to support .pth files. |
---|
2112 | ] |
---|
2113 | [Prevent failed attempts at removing MANIFEST.in from masking errors that |
---|
2114 | phillip.eby**20060221224458 |
---|
2115 | occur while reading it. |
---|
2116 | ] |
---|
2117 | [bump version # |
---|
2118 | phillip.eby**20060221224416] |
---|
2119 | [Misc. doc fixes |
---|
2120 | phillip.eby**20060215151028] |
---|
2121 | [0.6a10 release |
---|
2122 | phillip.eby**20060214210108] |
---|
2123 | [Minor tweak to installation report, and add in a hook for later |
---|
2124 | phillip.eby**20060214205434 |
---|
2125 | displaying the "extras" that can be added to a package. |
---|
2126 | ] |
---|
2127 | [Fix a Windows problem when the Python executable is in a directory with |
---|
2128 | phillip.eby**20060214190756 |
---|
2129 | a ' ' in its name. |
---|
2130 | ] |
---|
2131 | [Added the ``extras`` attribute to ``Distribution``, the ``find_plugins()`` |
---|
2132 | phillip.eby**20060214190504 |
---|
2133 | method to ``WorkingSet``, and the ``__add__()`` and ``__iadd__()`` methods |
---|
2134 | to ``Environment``. |
---|
2135 | ] |
---|
2136 | [Don't compress eggs on Python 2.3, as a possible workaround for 64-bit |
---|
2137 | phillip.eby**20060213213550 |
---|
2138 | zipimport bug. |
---|
2139 | ] |
---|
2140 | [Added exhaustive testing of the install directory, including a spawn test |
---|
2141 | phillip.eby**20060213180947 |
---|
2142 | for ``.pth`` file support, and directory writability/existence checks. This |
---|
2143 | should virtually eliminate the need to set or configure ``--site-dirs``. |
---|
2144 | ] |
---|
2145 | [Fixed duplication of scripts inside .egg files |
---|
2146 | phillip.eby**20060213173242] |
---|
2147 | [Expanded download message so people know what file to get, if they're |
---|
2148 | phillip.eby**20060212233908 |
---|
2149 | going to have to fetch it by hand due to restricted or nonexistent |
---|
2150 | network access. |
---|
2151 | ] |
---|
2152 | [Workaround for packages that think 'version' is a number. |
---|
2153 | phillip.eby**20060212193217] |
---|
2154 | [Misc. doc additions: callback exception handling, and an assortment of |
---|
2155 | phillip.eby**20060212192029 |
---|
2156 | tips and techniques for using easy_install. |
---|
2157 | ] |
---|
2158 | [Fixed the annoying ``--help-commands`` wart, albeit in a most |
---|
2159 | phillip.eby**20060210222348 |
---|
2160 | unfortunately kludgy fashion. |
---|
2161 | ] |
---|
2162 | [--prefix support for even more do-what-I-meanishness. :) |
---|
2163 | phillip.eby**20060210220427] |
---|
2164 | [Implemented DWIM for PYTHONPATH. That is, ez_setup and easy_install |
---|
2165 | phillip.eby**20060210210912 |
---|
2166 | should now "just work" if you're using a PYTHONPATH target, and if it |
---|
2167 | can't "just work", you get helpful instructions and doc links. |
---|
2168 | ] |
---|
2169 | [New version of site.py hack, for better compatibility with distros that |
---|
2170 | phillip.eby**20060210014904 |
---|
2171 | patch the stdlib site.py. This version runs the stdlib site.py, then |
---|
2172 | tries to hack sys.path back to something resembling what the old version |
---|
2173 | did. Unfortunately, this is complex since site.py and .pth files can |
---|
2174 | munge the path in rather arbitrary ways, and the initial setup of |
---|
2175 | sys.path is dependent on the platform and Python version. This code has |
---|
2176 | been tested on Linux, cygwin, and Windows Python, versions 2.2, 2.3, and |
---|
2177 | 2.4 (although not all versions on all platforms), and appears to perform |
---|
2178 | as intended. |
---|
2179 | ] |
---|
2180 | [Ugh. Rereading the Fedora patch shows my previous hack won't actually |
---|
2181 | phillip.eby**20060210013424 |
---|
2182 | accomplish anything useful. This one should, but it needs testing by |
---|
2183 | someone who actually has a Fedora 64-bit x86 setup. |
---|
2184 | ] |
---|
2185 | [Oops, bad indentation. |
---|
2186 | phillip.eby**20060210012622] |
---|
2187 | [Tweak site_dirs detection so that distros with weird layouts (e.g. |
---|
2188 | phillip.eby**20060210012520 |
---|
2189 | /usr/lib64 patches on 64-bit Fedora) will have a better chance of |
---|
2190 | working "out of the box". |
---|
2191 | ] |
---|
2192 | [The ``--find-links`` option previously scanned all supplied URLs and |
---|
2193 | phillip.eby**20060208054654 |
---|
2194 | directories as early as possible, but now only directories and direct |
---|
2195 | archive links are scanned immediately. URLs are not retrieved unless a |
---|
2196 | package search was already going to go online due to a package not being |
---|
2197 | available locally, or due to the use of the ``--update`` or ``-U`` |
---|
2198 | option. Also, fixed the ``develop`` command ignoring ``--find-links``. |
---|
2199 | ] |
---|
2200 | [The ``--always-copy`` option now skips "system" and "development" eggs |
---|
2201 | phillip.eby**20060207164341 |
---|
2202 | since they can't be reliably copied. Note that this may cause EasyInstall |
---|
2203 | to choose an older version of a package than what you expected, or it may |
---|
2204 | cause downloading and installation of a fresh version of what's already |
---|
2205 | installed. |
---|
2206 | ] |
---|
2207 | [Added ``Distribution.clone()`` method, and keyword argument support to |
---|
2208 | phillip.eby**20060207164055 |
---|
2209 | other ``Distribution`` constructors. Added the ``DEVELOP_DIST`` |
---|
2210 | precedence, and automatically assign it to eggs using ``.egg-info`` |
---|
2211 | format. |
---|
2212 | ] |
---|
2213 | [Implement more Mac OS X version handling stuff requested by Bob |
---|
2214 | phillip.eby**20060207133650 |
---|
2215 | Ippolito. |
---|
2216 | ] |
---|
2217 | [Honor get_platform() for Mac OS X if it starts with 'macosx-' |
---|
2218 | phillip.eby**20060204000325] |
---|
2219 | [Fix missing import. |
---|
2220 | phillip.eby**20060127164759] |
---|
2221 | [Expand ``$variables`` used in the ``--site-dirs``, ``--build-directory``, |
---|
2222 | phillip.eby**20060126220807 |
---|
2223 | ``--install-dir``, and ``--script-dir`` options, whether on the command |
---|
2224 | line or in configuration files. |
---|
2225 | ] |
---|
2226 | [Randomly select a SourceForge mirror IP for each download, to work |
---|
2227 | phillip.eby**20060123162916 |
---|
2228 | around too-aggressive DNS caches on some platforms, that could otherwise |
---|
2229 | result in a stuck bad IP. |
---|
2230 | ] |
---|
2231 | [Fix typo. |
---|
2232 | phillip.eby**20060122222244] |
---|
2233 | [Scrape-proof Sourceforge mirror processing! |
---|
2234 | phillip.eby**20060117195659] |
---|
2235 | [Fix editing error (reported by Ian Bicking). |
---|
2236 | phillip.eby**20060117184756] |
---|
2237 | [More sourceforge changes. :( |
---|
2238 | phillip.eby**20060117184446] |
---|
2239 | [Tweak build configuration for OS X, based on suggestions from Michael |
---|
2240 | phillip.eby**20060114193455 |
---|
2241 | Twomey on the distutils-sig. (It looks like we may also need to add an |
---|
2242 | '-install_name' or some such to the library link step.) |
---|
2243 | ] |
---|
2244 | [Attempt to define some reasonable flags for OS X linker. |
---|
2245 | phillip.eby**20060114013413] |
---|
2246 | [Fix broken import |
---|
2247 | phillip.eby**20060114001318] |
---|
2248 | [Don't keep the stub .py file around, just the .pyc/.pyo. Don't write |
---|
2249 | phillip.eby**20060114001203 |
---|
2250 | a stub to the source tree if it would overwrite an existing .py file. |
---|
2251 | ] |
---|
2252 | [Ensure installed stubs get compiled, even if there are no "pure" modules |
---|
2253 | phillip.eby**20060113235242 |
---|
2254 | present. Also, don't bother compiling the stub prior to installation. |
---|
2255 | ] |
---|
2256 | [Write stub files correctly for build_ext --inplace |
---|
2257 | phillip.eby**20060113233255] |
---|
2258 | [Implement LD_LIBRARY_PATH workaround stub loader |
---|
2259 | phillip.eby**20060113231656] |
---|
2260 | [Don't write .py stubs except for actual extensions that don't already |
---|
2261 | phillip.eby**20060113223257 |
---|
2262 | have them. |
---|
2263 | ] |
---|
2264 | [Oops. |
---|
2265 | phillip.eby**20060113215905] |
---|
2266 | [Add experimental code for wrapping relocatable shared libraries on |
---|
2267 | phillip.eby**20060113215712 |
---|
2268 | platforms that support the 'dl' module. |
---|
2269 | ] |
---|
2270 | [EasyInstall can now download bare ``.py`` files and wrap them in an egg, |
---|
2271 | phillip.eby**20060110040054 |
---|
2272 | as long as you include an ``#egg=name-version`` suffix on the URL, or if |
---|
2273 | the ``.py`` file is listed as the "Download URL" on the project's PyPI |
---|
2274 | page. This allows third parties to "package" trivial Python modules |
---|
2275 | just by linking to them (e.g. from within their own PyPI page or |
---|
2276 | download links page). |
---|
2277 | |
---|
2278 | ] |
---|
2279 | [``safe_name()`` now allows dots in project names, and there is a new |
---|
2280 | phillip.eby**20060110034922 |
---|
2281 | ``to_filename()`` function that escapes project names and versions for |
---|
2282 | safe use in constructing egg filenames from a Distribution object's |
---|
2283 | metadata. |
---|
2284 | |
---|
2285 | Note that allowing dots may now cause problems for projects with '.' in |
---|
2286 | the name that were previously installed, since such projects had to be |
---|
2287 | spelled with a '-' before. The '-' name will no longer match the '.' |
---|
2288 | project, and there is no real room for backward compatibility here. :( |
---|
2289 | ] |
---|
2290 | [PyPI searches now use the exact spelling of requirements specified on |
---|
2291 | phillip.eby**20060107001958 |
---|
2292 | the command line or in a project's ``install_requires``. Previously, a |
---|
2293 | normalized form of the name was used, which could lead to unnecessary |
---|
2294 | full-index searches when a project's name had an underscore (``_``) |
---|
2295 | in it. |
---|
2296 | ] |
---|
2297 | [SharedLibrary -> Library. For now, Windows libs get built as shared, |
---|
2298 | phillip.eby**20060106195736 |
---|
2299 | and other platforms get static. :( |
---|
2300 | ] |
---|
2301 | [Remove debug print left in by mistake. |
---|
2302 | phillip.eby**20060105233042] |
---|
2303 | [First draft of shared library build support. See tests/shlib_test |
---|
2304 | phillip.eby**20060105231421 |
---|
2305 | for a trivial example. This has only been tested on Windows with |
---|
2306 | a MinGW compiler, and the Mac OS support isn't finished. Testing |
---|
2307 | w/other platforms+compilers would be helpful. |
---|
2308 | ] |
---|
2309 | [Bump version number to start the 0.6a10dev cycle. |
---|
2310 | phillip.eby**20060105000157] |
---|
2311 | [0.6a9 release |
---|
2312 | phillip.eby**20060104175552] |
---|
2313 | [Make it clearer that Requirement.parse() is the only way for users |
---|
2314 | phillip.eby**20060103231020 |
---|
2315 | to create correct Requirement instances. |
---|
2316 | ] |
---|
2317 | [Tweak windows environment variable doc, per user feedback. |
---|
2318 | phillip.eby**20060103213522] |
---|
2319 | [Allow most commands to work with an existing .egg-info directory w/a '-' |
---|
2320 | phillip.eby**20051230163542 |
---|
2321 | in it, but warn about it and refuse to run "develop" until the existing |
---|
2322 | directory is renamed. This should allow older source distributions and |
---|
2323 | checkouts to keep working with 0.6a9. |
---|
2324 | ] |
---|
2325 | [Fix unescaped '-' in .egg-info directory names. Note that this means |
---|
2326 | phillip.eby**20051230161135 |
---|
2327 | you must rename any existing .egg-info directory inside a project that |
---|
2328 | has a '-' in it! |
---|
2329 | ] |
---|
2330 | [Make the install_scripts command respect the "build_scripts -e" |
---|
2331 | phillip.eby**20051226192141 |
---|
2332 | option when installing generated scripts using the |
---|
2333 | --single-version-externally-managed option. |
---|
2334 | ] |
---|
2335 | [Fix typo. :( |
---|
2336 | phillip.eby**20051220171831] |
---|
2337 | [Fix "legacy mode" trying to install scripts when there are none. |
---|
2338 | phillip.eby**20051220163129] |
---|
2339 | [Changes so that upgrading an existing setuptools to a development |
---|
2340 | phillip.eby**20051220162150 |
---|
2341 | version doesn't lose its entry points by using the already-installed |
---|
2342 | setuptools as a basis for generating them. |
---|
2343 | ] |
---|
2344 | [Incorporate Bob Ippolito's corrections to Mac OS X instructions. |
---|
2345 | phillip.eby**20051218170702] |
---|
2346 | [Add notes about bdist_msi, bdist_nsi, and bdist_deb formats' |
---|
2347 | phillip.eby**20051216204910 |
---|
2348 | compatibility with setuptools. |
---|
2349 | ] |
---|
2350 | [Added "What Your Users Should Know" section, telling package developers |
---|
2351 | phillip.eby**20051216201501 |
---|
2352 | what information they should give to their users about dependencies, |
---|
2353 | network access, system packaging, and other common questions or |
---|
2354 | concerns. |
---|
2355 | ] |
---|
2356 | [Fix bdist_dumb support to use .egg-info instead of .egg format. |
---|
2357 | phillip.eby**20051216193721] |
---|
2358 | [Overhaul installation docs to address frequently asked questions |
---|
2359 | phillip.eby**20051216184656 |
---|
2360 | and problems, and to document additional approaches to dealing with |
---|
2361 | custom install locations. Also, added a note about the parameters |
---|
2362 | of ``use_setuptools()`` so that persons needing to distribute e.g. |
---|
2363 | an in-development version of setuptools can do so. |
---|
2364 | ] |
---|
2365 | [Modify resource extraction to bypass sandbox control so that egg |
---|
2366 | phillip.eby**20051215194903 |
---|
2367 | extraction during setup runs is not restricted. |
---|
2368 | ] |
---|
2369 | [Make install_egg_info track every file it installs, not just the |
---|
2370 | phillip.eby**20051215181112 |
---|
2371 | directory it installs to. |
---|
2372 | ] |
---|
2373 | [Improve startup performance when sys.path contains a lot of eggs, by |
---|
2374 | phillip.eby**20051215181010 |
---|
2375 | caching normalized versions of path entries. It appears that |
---|
2376 | normalizing paths using os.path.realpath is extremely expensive on |
---|
2377 | at least Windows. Caching cuts the overhead by around 30X. |
---|
2378 | ] |
---|
2379 | [Added the ``exclude_package_data`` keyword to ``setup()``, allowing you |
---|
2380 | phillip.eby**20051215024503 |
---|
2381 | to trim back files included via the ``package_data`` and |
---|
2382 | ``include_package_data`` options. |
---|
2383 | ] |
---|
2384 | [Support full roundtrip translation of eggs to and from ``bdist_wininst`` |
---|
2385 | phillip.eby**20051214234722 |
---|
2386 | format. Running ``bdist_wininst`` on a setuptools-based package wraps the |
---|
2387 | egg in an .exe that will safely install it as an egg (i.e., with metadata |
---|
2388 | and entry-point wrapper scripts), and ``easy_install`` can turn the .exe |
---|
2389 | back into an ``.egg`` file or directory and install it as such. |
---|
2390 | |
---|
2391 | At this point, it should also be possible to "system package" any egg, |
---|
2392 | complete with wrapper scripts, and at least bdist_wininst works now. |
---|
2393 | More testing is needed for at least bdist_dumb and bdist_rpm. |
---|
2394 | ] |
---|
2395 | [Refactor script wrapper generation into a separate function so that it |
---|
2396 | phillip.eby**20051214225641 |
---|
2397 | can be used by the future install_scripts command to install entry point |
---|
2398 | scripts in "legacy" mode. |
---|
2399 | ] |
---|
2400 | [Basic roundtripping support between bdist_wininst and eggs. EasyInstall |
---|
2401 | phillip.eby**20051214204936 |
---|
2402 | will now recognize when a bdist_wininst .exe wraps a .egg-info style |
---|
2403 | package, and reconstitute it correctly, maintaining the original zip |
---|
2404 | safety flag, if applicable. This still needs support for entrypoint |
---|
2405 | scripts, though, as does the install_scripts command. |
---|
2406 | ] |
---|
2407 | [Oops. |
---|
2408 | phillip.eby**20051214182628] |
---|
2409 | [Added a ``--single-version-externally-managed`` option to the ``install`` |
---|
2410 | phillip.eby**20051214181011 |
---|
2411 | command so that you can more easily wrap a "flat" egg in a system package. |
---|
2412 | Enhanced ``bdist_rpm`` so that it installs single-version eggs that |
---|
2413 | don't rely on a ``.pth`` file. The ``--no-egg`` option has been removed, |
---|
2414 | since all RPMs are now built in a more backwards-compatible format. |
---|
2415 | |
---|
2416 | Some work is now needed for easy_install to recognize bdist_wininst |
---|
2417 | .exe's that wrap these new flat eggs, as currently the .egg-info will |
---|
2418 | not be recognized. |
---|
2419 | ] |
---|
2420 | [Added an internal ``install_egg_info`` command to use as part of old-style |
---|
2421 | phillip.eby**20051214173730 |
---|
2422 | ``install`` operations, that installs an ``.egg-info`` directory with the |
---|
2423 | package. This is a preliminary step to implementing "install |
---|
2424 | --single-version-externally-managed" for use with bdist_* commands and |
---|
2425 | Debian. |
---|
2426 | ] |
---|
2427 | [Changed ``parse_version()`` to remove dashes before pre-release tags, so |
---|
2428 | phillip.eby**20051206174136 |
---|
2429 | that ``0.2-rc1`` is considered an *older* version than ``0.2``, and is equal |
---|
2430 | to ``0.2rc1``. The idea that a dash *always* meant a post-release version |
---|
2431 | was highly non-intuitive to setuptools users and Python developers, who |
---|
2432 | seem to want to use ``-rc`` version numbers a lot. |
---|
2433 | |
---|
2434 | ] |
---|
2435 | [Added an ``unpack_directory()`` driver to ``setuptools.archive_util``, so |
---|
2436 | phillip.eby**20051206031248 |
---|
2437 | that you can process a directory tree through a processing filter as if |
---|
2438 | it were a zipfile or tarfile. |
---|
2439 | ] |
---|
2440 | [Remove unneeded code that slipped into last commit. |
---|
2441 | phillip.eby**20051206031122] |
---|
2442 | [Added support for ``.egg-info`` files or directories with version/platform |
---|
2443 | phillip.eby**20051206010227 |
---|
2444 | information embedded in the filename, so that system packagers have the |
---|
2445 | option of including ``PKG-INFO`` files to indicate the presence of a |
---|
2446 | system-installed egg, without needing to use ``.egg`` directories, zipfiles, |
---|
2447 | or ``.pth`` manipulation. |
---|
2448 | |
---|
2449 | ] |
---|
2450 | [Made all commands that use ``easy_install`` respect its configuration |
---|
2451 | phillip.eby**20051201014539 |
---|
2452 | options, as this was causing some problems with ``setup.py install`` |
---|
2453 | ignoring global site-dirs settings. |
---|
2454 | ] |
---|
2455 | [Misc. doc enhancements |
---|
2456 | phillip.eby**20051201011803] |
---|
2457 | [If more than one URL appears to describe the exact same distribution, prefer |
---|
2458 | phillip.eby**20051126185935 |
---|
2459 | the shortest one. This helps to avoid "table of contents" CGI URLs like the |
---|
2460 | ones on effbot.org. |
---|
2461 | ] |
---|
2462 | [Added ``tests_require`` keyword to ``setup()``, so that e.g. packages |
---|
2463 | phillip.eby**20051119203840 |
---|
2464 | requiring ``nose`` to run unit tests can make this dependency optional |
---|
2465 | unless the ``test`` command is run. |
---|
2466 | ] |
---|
2467 | [Kludges to make building packages with '-' in their version work with |
---|
2468 | phillip.eby**20051119193629 |
---|
2469 | bdist_rpm. This still doesn't address the issue of building RPMs that |
---|
2470 | don't effectively install as multi-version eggs, but at least now |
---|
2471 | building RPMs for development eggs is possible. |
---|
2472 | ] |
---|
2473 | [Added warning for namespace packages with missing ``declare_namespace()``, |
---|
2474 | phillip.eby**20051118172947 |
---|
2475 | updated docs for new policy/implementation, and explain the reasons |
---|
2476 | for the change and what to do about it. |
---|
2477 | ] |
---|
2478 | [Fixed ``.pth`` file processing picking up nested eggs (i.e. ones inside |
---|
2479 | phillip.eby**20051118150050 |
---|
2480 | "baskets") when they weren't explicitly listed in the ``.pth`` file. |
---|
2481 | ] |
---|
2482 | [Add tutorial section on choosing project version numbers that |
---|
2483 | phillip.eby**20051118143125 |
---|
2484 | will work well with automated tools based on pkg_resources. |
---|
2485 | ] |
---|
2486 | [Fix .svn exclude pattern for non-Windows platforms. |
---|
2487 | phillip.eby**20051118131533] |
---|
2488 | [Fixed ``--tag-svn-revision`` not working when run from a source |
---|
2489 | phillip.eby**20051118112950 |
---|
2490 | distribution. |
---|
2491 | ] |
---|
2492 | [Added the ``include_package_data`` keyword to ``setup()``, allowing you to |
---|
2493 | phillip.eby**20051118043731 |
---|
2494 | automatically include any package data listed in revision control or |
---|
2495 | ``MANIFEST.in``. Now projects can manage their data files and source |
---|
2496 | manifests without having to maintain two ways to express the same file |
---|
2497 | list. Yay! |
---|
2498 | ] |
---|
2499 | [The ``sdist`` command no longer uses the traditional ``MANIFEST`` file to |
---|
2500 | phillip.eby**20051118034516 |
---|
2501 | create source distributions. ``MANIFEST.in`` is still read and processed, |
---|
2502 | as are the standard defaults and pruning. But the manifest is built inside |
---|
2503 | the project's ``.egg-info`` directory as ``SOURCES.txt``, and it is rebuilt |
---|
2504 | every time the ``egg_info`` command is run. |
---|
2505 | ] |
---|
2506 | [Build a SOURCES.txt manifest file in .egg-info, that can then be included in |
---|
2507 | phillip.eby**20051118031307 |
---|
2508 | sdist distributions to support building an sdist from an sdist (which the |
---|
2509 | bdist_rpm command requires). This will also be the basis for enhanced |
---|
2510 | package data support, that will allow optionally using the manifest to |
---|
2511 | identify package data files instead of having separate manual identification |
---|
2512 | of the data files. |
---|
2513 | ] |
---|
2514 | [Bump version number to begin the 0.6a9 developent cycle |
---|
2515 | phillip.eby**20051118022208] |
---|
2516 | [Don't raise an error when an invalid (unfinished) distribution is found |
---|
2517 | phillip.eby**20051118020730 |
---|
2518 | unless absolutely necessary. Warn about skipping invalid/unfinished eggs |
---|
2519 | when building an Environment. |
---|
2520 | ] |
---|
2521 | [Quote arguments to python.exe (including python's path) to avoid |
---|
2522 | phillip.eby**20051117030133 |
---|
2523 | problems when Python (or a script) is installed in a directory |
---|
2524 | whose name contains spaces. :( |
---|
2525 | ] |
---|
2526 | [0.6a8 final. |
---|
2527 | phillip.eby**20051116191808] |
---|
2528 | [Update for SourceForge's changed mirror page formats |
---|
2529 | phillip.eby**20051116184305] |
---|
2530 | [Fixed a problem with nested namespace packages (e.g. ``peak.util``) not |
---|
2531 | phillip.eby**20051113010833 |
---|
2532 | being set as an attribute of their parent package. |
---|
2533 | ] |
---|
2534 | [Record case-insensitivity fix. |
---|
2535 | phillip.eby**20051109033043] |
---|
2536 | [Document shared library autodetection |
---|
2537 | phillip.eby**20051109032857] |
---|
2538 | [Detect .dll, .so, .dylib and .pyd files that might have |
---|
2539 | phillip.eby**20051109032334 |
---|
2540 | been included in a project as data files rather than as |
---|
2541 | Python extensions. |
---|
2542 | ] |
---|
2543 | [Normalize items in sys.path when determining where to insert |
---|
2544 | phillip.eby**20051109030230 |
---|
2545 | a new item. |
---|
2546 | ] |
---|
2547 | [Fix rmtree() brokenness with Python 2.4 by breaking down and copying |
---|
2548 | phillip.eby**20051105163236 |
---|
2549 | shutil.rmtree from 2.4 directly into easy_install.py. |
---|
2550 | ] |
---|
2551 | [Fixed some problems with fresh checkouts of projects that don't include |
---|
2552 | phillip.eby**20051105055026 |
---|
2553 | ``.egg-info/PKG-INFO`` under revision control and put the project's source |
---|
2554 | code directly in the project directory. If such a package had any |
---|
2555 | requirements that get processed before the ``egg_info`` command can be run, |
---|
2556 | the setup scripts would fail with a "Missing 'Version:' header and/or |
---|
2557 | PKG-INFO file" error, because the egg runtime interpreted the unbuilt |
---|
2558 | metadata in a directory on ``sys.path`` (i.e. the current directory) as |
---|
2559 | being a corrupted egg. Setuptools now monkeypatches the distribution |
---|
2560 | metadata cache to pretend that the egg has valid version information, until |
---|
2561 | it has a chance to make it actually be so (via the ``egg_info`` command). |
---|
2562 | |
---|
2563 | ] |
---|
2564 | [Made ``egg_info --tag-svn-revision`` fall back to extracting the |
---|
2565 | phillip.eby**20051104053822 |
---|
2566 | revision number from ``PKG-INFO`` in case it is being run on a |
---|
2567 | source distribution of a snapshot taken from a Subversion-based |
---|
2568 | project. That is, if a project builds an sdist with |
---|
2569 | --tag-svn-revision in setup.cfg, then the built sdist will |
---|
2570 | create binaries with the same version number as the checkout |
---|
2571 | that was used to create the sdist. |
---|
2572 | ] |
---|
2573 | [Reduce the number of redundant host blocking warnings by not |
---|
2574 | phillip.eby**20051104031844 |
---|
2575 | retrying the same previously-blocked URLs. |
---|
2576 | ] |
---|
2577 | [Made ``develop`` command accept all the same options as ``easy_install``, |
---|
2578 | phillip.eby**20051104030830 |
---|
2579 | and use the ``easy_install`` command's configuration settings as defaults. |
---|
2580 | ] |
---|
2581 | [Workaround for broken DISTUTILS_DEBUG output. |
---|
2582 | phillip.eby**20051104030652] |
---|
2583 | [Document best practices for managing continuous releases with |
---|
2584 | phillip.eby**20051104022934 |
---|
2585 | Subversion, #egg links, --tag-svn-revision, etc., to reflect the |
---|
2586 | community experience with the tools to date. |
---|
2587 | ] |
---|
2588 | [* Improved runtime conflict warning message to identify a line in the user's |
---|
2589 | phillip.eby**20051104015325 |
---|
2590 | program, rather than flagging the ``warn()`` call in ``pkg_resources``. |
---|
2591 | |
---|
2592 | * Avoid giving runtime conflict warnings for namespace packages, even if they |
---|
2593 | were declared by a different package than the one currently being activated. |
---|
2594 | ] |
---|
2595 | [Fixed some problems building extensions when Pyrex was installed, especially |
---|
2596 | phillip.eby**20051103035542 |
---|
2597 | with Python 2.4 and/or packages using SWIG. |
---|
2598 | ] |
---|
2599 | [Handle non-requirement installs correctly for dependency processing |
---|
2600 | phillip.eby**20051103035206 |
---|
2601 | (e.g. "setup.py install", or "easy_install somefile/someurl"). |
---|
2602 | ] |
---|
2603 | [Fix some Subversion-related problems reported by John J. Lee: |
---|
2604 | phillip.eby**20051103032844 |
---|
2605 | |
---|
2606 | * Fixed not installing dependencies for some packages fetched via Subversion |
---|
2607 | |
---|
2608 | * Fixed dependency installation with ``--always-copy`` not using the same |
---|
2609 | dependency resolution procedure as other operations. |
---|
2610 | |
---|
2611 | * Fixed not fully removing temporary directories on Windows, if a Subversion |
---|
2612 | checkout left read-only files behind |
---|
2613 | |
---|
2614 | ] |
---|
2615 | [Switch setuptools to use 'dev-rNNNN' version tags by default, and configure |
---|
2616 | phillip.eby**20051103023426 |
---|
2617 | so that people can use 'ez_setup.py setuptools==dev' to fetch the latest |
---|
2618 | in-development version. |
---|
2619 | ] |
---|
2620 | [Fixed a problem with ``WorkingSet.resolve()`` that prevented version |
---|
2621 | phillip.eby**20051103022449 |
---|
2622 | conflicts from being detected at runtime. (As reported by Ian Bicking.) |
---|
2623 | ] |
---|
2624 | [Oops, this was part of 0.6a7 too. |
---|
2625 | phillip.eby**20051102235821] |
---|
2626 | [Fix documentation typos, and note that Python 2.4 is required on 64-bit |
---|
2627 | phillip.eby**20051102235744 |
---|
2628 | platforms (due to a bugfix in zipimport.c that was never backported to |
---|
2629 | the 2.3 branch). |
---|
2630 | ] |
---|
2631 | [0.6a7 bugfix release |
---|
2632 | phillip.eby**20051102235534] |
---|
2633 | [Fixed a problem extracting zipped files on Windows, when the egg in |
---|
2634 | pje**20051022190744 |
---|
2635 | question has had changed contents but still has the same version number. |
---|
2636 | ] |
---|
2637 | [Added "--allow-hosts" option to restrict downloading and spidering to |
---|
2638 | pje**20051019030035 |
---|
2639 | a specified list of server glob patterns. |
---|
2640 | ] |
---|
2641 | [Hurray! Our first dependency processing bug! This is cool because it |
---|
2642 | pje**20051018040846 |
---|
2643 | means that people are finally doing enough things with setuptools to |
---|
2644 | have real-life version conflict scenarios. Luckily, the fix is trivial: |
---|
2645 | use breadth-first instead of depth-first dependency processing, which I |
---|
2646 | thought we were already doing anyway, but weren't. And we were giving |
---|
2647 | precedence to already-installed packages, which means upgrades didn't |
---|
2648 | work so well. |
---|
2649 | ] |
---|
2650 | [Prep for 0.6a6 release. |
---|
2651 | pje**20051017024439] |
---|
2652 | [Fix a typo in patched site.py. |
---|
2653 | pje**20051017023900] |
---|
2654 | [Significantly enhanced support and docs for "non-root" installation, |
---|
2655 | pje**20051017022639 |
---|
2656 | including both "virtual" and PYTHONPATH-based installs. The activation |
---|
2657 | precedence of distributions has also changed so that PYTHONPATH-based |
---|
2658 | non-root installs can include eggs that override system-defined packages |
---|
2659 | (whether managed or unmanaged). This version should eliminate most |
---|
2660 | common installation complaints from non-root Python users. |
---|
2661 | Note: this version includes a hacked 'site.py' to support processing |
---|
2662 | .pth files in directories that come *before* site-packages on sys.path. |
---|
2663 | However, because of its placement, it should only come into play when |
---|
2664 | a user puts the setuptools .egg file *directly* on PYTHONPATH, so it |
---|
2665 | doesn't affect "virtual" or "root" installations. It's strictly to |
---|
2666 | provide support for luddites who refuse to give up their |
---|
2667 | existing non-root PYTHONPATH setup unless you pry it from their cold, |
---|
2668 | dead hands. :) |
---|
2669 | ] |
---|
2670 | [Fix problem with Windows console scripts conflicting with module names, |
---|
2671 | pje**20051016204530 |
---|
2672 | thereby confusing the import process. Scripts are now generated with a |
---|
2673 | suffix of the form '-script.py' to avoid conflicts. (The .exe's are still |
---|
2674 | generated without the '-script' part, so you don't have to type it.) |
---|
2675 | Thanks to Matthew R. Scott for reporting the problem. |
---|
2676 | ] |
---|
2677 | [Implement --no-deps option, add link to Ian Bicking's non-root Python |
---|
2678 | pje**20051016174211 |
---|
2679 | builder script. |
---|
2680 | ] |
---|
2681 | [0.6a5 brown bag bug fix release. |
---|
2682 | pje**20050929170543] |
---|
2683 | [Bugfixes. :( |
---|
2684 | pje**20050929164955] |
---|
2685 | [0.6a4 bugfix release. |
---|
2686 | pje**20050926004600] |
---|
2687 | [Ensure that WorkingSet.resolve() (and therefore require() as well) |
---|
2688 | pje**20050926003535 |
---|
2689 | returns a list of the relevant distributions, even if they are found in |
---|
2690 | the working set rather than the environment. This fixes some problems |
---|
2691 | in the 0.6a3 release. |
---|
2692 | ] |
---|
2693 | [0.6a3 release. |
---|
2694 | pje**20050924214059] |
---|
2695 | [Support generating .pyw/.exe wrappers for Windows GUI scripts, and |
---|
2696 | pje**20050924202957 |
---|
2697 | "normal" #! wrappers for GUI scripts on other platforms. |
---|
2698 | ] |
---|
2699 | [Fix a problem with inconsistent quoting of "extras", reported by Ian |
---|
2700 | pje**20050924194828 |
---|
2701 | Bicking on the distutils-sig. |
---|
2702 | ] |
---|
2703 | [Add release notes for changes made today. |
---|
2704 | pje**20050924194520] |
---|
2705 | [Fix a bug parsing #egg links reported by Ben Bangert on the distutils-sig. |
---|
2706 | pje**20050924194427] |
---|
2707 | [Implement smart version conflict resolution for scripts, so that |
---|
2708 | pje**20050924175822 |
---|
2709 | installed applications will not have their eggs overridden by packages |
---|
2710 | installed locally on sys.path. This should also make things work a bit |
---|
2711 | better for "traditional" non-root Python setups on Unixy operating |
---|
2712 | systems. See: |
---|
2713 | |
---|
2714 | http://mail.python.org/pipermail/distutils-sig/2005-September/005164.html |
---|
2715 | |
---|
2716 | for more details. |
---|
2717 | ] |
---|
2718 | [Improve backward compatibility, so that users running easy_install.py or |
---|
2719 | pje**20050924172856 |
---|
2720 | python -m easy_install get a clearer error message. |
---|
2721 | ] |
---|
2722 | [Fix typo. Add setup for include/python2.X directory in non-root install |
---|
2723 | pje**20050924143043 |
---|
2724 | instructions. |
---|
2725 | ] |
---|
2726 | [setuptools 0.6a2 release |
---|
2727 | pje**20050918040238] |
---|
2728 | [Added support to solve the infamous "we want .py on Windows, no |
---|
2729 | pje**20050917011302 |
---|
2730 | extension elsewhere" problem, while also bypassing the need for PATHEXT |
---|
2731 | on Windows, and in fact the need to even write script files at all, for |
---|
2732 | any platform. Instead, you define "entry points" in your setup script, |
---|
2733 | in this case the names of the scripts you want (without extensions) and |
---|
2734 | the functions that should be imported and run to implement the scripts. |
---|
2735 | Setuptools will then generate platform-appropriate script files at |
---|
2736 | install time, including an .exe wrapper when installing on Windows. |
---|
2737 | ] |
---|
2738 | [Fixed cheeseshop URL. |
---|
2739 | pje**20050917001837] |
---|
2740 | [Fix another typo |
---|
2741 | pje**20050914164507] |
---|
2742 | [Update cheeseshop URL, fix typo. |
---|
2743 | pje**20050914164123] |
---|
2744 | [0.6a1 release of setuptools. |
---|
2745 | pje**20050914033349] |
---|
2746 | [Correctly handle URL fragments in --find-links. |
---|
2747 | pje**20050914032810] |
---|
2748 | [Release 0.6a1c2. |
---|
2749 | pje**20050903050112] |
---|
2750 | [Add release note about bdist_rpm --no-egg option |
---|
2751 | pje**20050903045310] |
---|
2752 | [Added support for old-style RPMs (i.e. non-egg RPMs) |
---|
2753 | pje**20050903045127] |
---|
2754 | [Ensure wrapper scripts are included in output file record; this is |
---|
2755 | pje**20050903045005 |
---|
2756 | especially important for RPMs with scripts. |
---|
2757 | ] |
---|
2758 | [Make sure that script target directory exists. Ordinarily it should, but |
---|
2759 | pje**20050903043718 |
---|
2760 | some bdist_* targets install to a pseudo-root where stuff might not exist. |
---|
2761 | ] |
---|
2762 | [Fix typo in symlink handling code. |
---|
2763 | pje**20050903040403] |
---|
2764 | [Work around a problem with SuSE Linux's patched install_lib command, by |
---|
2765 | pje**20050903032054 |
---|
2766 | figuring out the extension paths without its help. :( |
---|
2767 | ] |
---|
2768 | [More minor doc tweaks. |
---|
2769 | pje**20050823134550] |
---|
2770 | [Minor doc tweaks, and add release note about symlink support. |
---|
2771 | pje**20050823134220] |
---|
2772 | [D'oh! os.path.islink is available on all platforms. Also, ensure that we |
---|
2773 | pje**20050823133452 |
---|
2774 | do directory tree removals only if isdir() and not islink(), and use |
---|
2775 | unlink() in all other cases. |
---|
2776 | ] |
---|
2777 | [Simplify non-root install process and improve Mac OS docs for it. Support |
---|
2778 | pje**20050823132442 |
---|
2779 | .pth files and legacy packages possibly being symlinks, and ensure that |
---|
2780 | overwrites don't follow the symlink. |
---|
2781 | ] |
---|
2782 | [Make easy_install --record strip the RPM root when building RPMs, and have |
---|
2783 | pje**20050822134010 |
---|
2784 | bdist_egg ignore the RPM root when building an egg. This version now can |
---|
2785 | actually run bdist_rpm to completion, although the resulting RPM will |
---|
2786 | install an egg without a corresponding .pth file. |
---|
2787 | ] |
---|
2788 | [Remove broken example. |
---|
2789 | pje**20050822035342] |
---|
2790 | [Bump release version to 0.6a1. Fix a minor cosmetic issue on certain |
---|
2791 | pje**20050822035019 |
---|
2792 | ez_setup installs. |
---|
2793 | ] |
---|
2794 | [Give pkg_resources its own revision history; add some notes on today's |
---|
2795 | pje**20050822034020 |
---|
2796 | fixes and enhancements. |
---|
2797 | ] |
---|
2798 | [More documentation enhancements. |
---|
2799 | pje**20050822032827] |
---|
2800 | [Add detailed instructions for non-root installation using PYTHONHOME. |
---|
2801 | pje**20050822031458] |
---|
2802 | [Add release note about the new MD5 validation feature. |
---|
2803 | pje**20050822011705] |
---|
2804 | [Implemented md5 validation for PyPI and for URLs with a "#md5=..." anchor. |
---|
2805 | pje**20050822011314] |
---|
2806 | [Add hardcoded md5 checking to ez_setup. Also, don't delay and display |
---|
2807 | pje**20050822003547 |
---|
2808 | banner if ez_setup is run as a command-line script, since its whole purpose |
---|
2809 | in that case is to download setuptools. Running "ez_setup.py --md5update |
---|
2810 | FILE [FILE...]" will update the internal md5 checksum dictionary with new |
---|
2811 | or changed distributions. You should only do this if you are a setuptools |
---|
2812 | maintainer, however! |
---|
2813 | ] |
---|
2814 | [Fix a problem running build_ext -i w/no extensions. |
---|
2815 | pje**20050822003248] |
---|
2816 | [Display a download warning in ez_setup, so that people won't be caught |
---|
2817 | pje**20050821235554 |
---|
2818 | off-guard by the setuptools download (which only occurs if setuptools isn't |
---|
2819 | locally available, of course). |
---|
2820 | ] |
---|
2821 | [Fix problem w/bdist_rpm and setuptools, reported by Walter Doerwald. I |
---|
2822 | pje**20050821233340 |
---|
2823 | was trying to have setuptools fix distutils' broken filename handling that |
---|
2824 | assumes people haven't put punctuation in their distribution names, |
---|
2825 | including '-' (which prevents unambiguous parsing of distribution names). |
---|
2826 | However, bdist_rpm's attempt to guess a source distribution's filename |
---|
2827 | isn't compatible with this fix, without making other changes. I decided |
---|
2828 | therefore to drop the fixes for the sake of backward compatibility, but |
---|
2829 | monkeypatch bdist_rpm so that it runs "egg_info" first, to ensure that any |
---|
2830 | --tag-svn-revision or other tagging options take effect. |
---|
2831 | ] |
---|
2832 | [Make "build_ext --inplace" work sanely w/multiple Python versions and |
---|
2833 | pje**20050821225957 |
---|
2834 | platforms, by ensuring that the in-place extensions are the right ones for |
---|
2835 | the currently-running Python, even if they are newer than their sources. |
---|
2836 | (This, like so many other setuptools fixes and enhancements, should |
---|
2837 | probably be backported into the distutils as well, although it would have |
---|
2838 | to be implemented a bit differently.) |
---|
2839 | ] |
---|
2840 | [Thanks to Richard Jones, we no longer need to fake out PyPI with a '.zip' |
---|
2841 | pje**20050821221212 |
---|
2842 | extension for eggs. |
---|
2843 | ] |
---|
2844 | [Parse .svn/entries directly instead of using 'svn info' to obtain a |
---|
2845 | pje**20050821214939 |
---|
2846 | revision number. (Christopher Lenz reported that svn info's output is |
---|
2847 | different in non-English locales.) |
---|
2848 | ] |
---|
2849 | [Fix namespace packages not getting fixed up when the eggs are zipped and |
---|
2850 | pje**20050819010153 |
---|
2851 | loaded late (i.e. via require). Thanks to Walter Doerwald for the bug |
---|
2852 | report. |
---|
2853 | ] |
---|
2854 | [Auto-generate namespace __init__.py files for packages without them. This |
---|
2855 | pje**20050814211745 |
---|
2856 | is a workaround for packages like 'll-color', which are distributed without |
---|
2857 | 'll/__init__.py', to avoid overwriting ll-core's copy of ll/__init__.py. |
---|
2858 | This allows existing packages that use this sort of kludging to be treated |
---|
2859 | as a crude namespace package, as long as the "real" __init__.py also |
---|
2860 | calls declare_namespace(). |
---|
2861 | ] |
---|
2862 | [Minor refactoring of code that checks a distribution's contents. |
---|
2863 | pje**20050814211446] |
---|
2864 | [Add experimental support for merging non-empty namespace packages. This |
---|
2865 | pje**20050814210133 |
---|
2866 | lets you have one distribution containing a non-empty __init__.py for the |
---|
2867 | package, as long as you call 'declare_namespace()' from that __init__.py |
---|
2868 | and all other __init__.py files for the namespace package, and do *not* |
---|
2869 | declare it as a namespace package in setup() (so that it won't be |
---|
2870 | automatically imported if it's on sys.path, the way empty namespace |
---|
2871 | packages are.) |
---|
2872 | ] |
---|
2873 | [Fix a bug introduced by removing the Environment.get() method. |
---|
2874 | pje**20050814204649] |
---|
2875 | [On second thought, don't. :( Walter Doerwald's situation isn't really |
---|
2876 | pje**20050814201856 |
---|
2877 | compatible with namespace packages, even if I do manage to hack up a way |
---|
2878 | to make it work. |
---|
2879 | ] |
---|
2880 | [Allow distributing an empty namespace package. |
---|
2881 | pje**20050814201628] |
---|
2882 | [Fix some reST formatting problems and other issues discovered during a |
---|
2883 | pje**20050814174807 |
---|
2884 | quick review. |
---|
2885 | ] |
---|
2886 | [Document "Distribution" objects. Now the API reference is complete, and I |
---|
2887 | pje**20050814173015 |
---|
2888 | just need to write the Overview and Developer's Guide sections so that most |
---|
2889 | people won't have to actually *read* the API reference. :) |
---|
2890 | ] |
---|
2891 | [Documentation for namespace packages, working sets, and supporting custom |
---|
2892 | pje**20050814060837 |
---|
2893 | PEP 302 importers. Once the "Distribution" class is documented, this will |
---|
2894 | be a complete API reference for pkg_resources. |
---|
2895 | ] |
---|
2896 | [Make "run_script" a method of WorkingSet objects, thereby removing a global |
---|
2897 | pje**20050814060320 |
---|
2898 | coupling. |
---|
2899 | ] |
---|
2900 | [Document the "Environment" class, and simplify its API. |
---|
2901 | pje**20050814014538] |
---|
2902 | [Document "Requirement" objects. |
---|
2903 | pje**20050814003728] |
---|
2904 | [Added docs for main EntryPoint APIs, and cleaned up the API itself a bit. |
---|
2905 | pje**20050813230408 |
---|
2906 | Also fixed a few bugs. |
---|
2907 | ] |
---|
2908 | [Fixed breakage of bdist_* commands that call the 'install' command. |
---|
2909 | pje**20050811145854] |
---|
2910 | [Fix bugs reported by Ian Bicking, Walter Doerwald, and Vincenzo Di Massa. |
---|
2911 | pje**20050811003737] |
---|
2912 | [Fix a bug introduced by making split_sections() not lowercase section |
---|
2913 | pje**20050809155039 |
---|
2914 | headings. |
---|
2915 | ] |
---|
2916 | [Document resource and metadata access APIs. |
---|
2917 | pje**20050807205410] |
---|
2918 | [Add docs for exceptions, and for much of the ResourceManager API. |
---|
2919 | pje**20050807055237] |
---|
2920 | [Document utility routines. Made ``split_sections()`` not lowercase its |
---|
2921 | pje**20050807045044 |
---|
2922 | section headers any more, since e.g. entry point group names are |
---|
2923 | case-sensitive. |
---|
2924 | ] |
---|
2925 | [Renamed AvailableDistributions -> Environment. Add sketch of pkg_resources |
---|
2926 | pje**20050807010336 |
---|
2927 | manual outline. |
---|
2928 | ] |
---|
2929 | [Allow distutils extensions to define new kinds of metadata that can be |
---|
2930 | pje**20050806211750 |
---|
2931 | written to EGG-INFO. Extensible applications and frameworks can thus make |
---|
2932 | it possible for plugin projects to supply setup() metadata that can then |
---|
2933 | be used by the application or framework. |
---|
2934 | ] |
---|
2935 | [Fix WorkingSet yielding the same distribution more than once if more than |
---|
2936 | pje**20050806205401 |
---|
2937 | one path entry points to it. |
---|
2938 | ] |
---|
2939 | [Got rid of the no-longer meaningful "depends" command. Consolidated the |
---|
2940 | pje**20050806192949 |
---|
2941 | replacement of the "install" command so that installation is always via |
---|
2942 | easy_install, but doesn't use the previous kludgy intereception technique. |
---|
2943 | Allow ``extra_path`` to be set, but ignore it, so that when easy_install |
---|
2944 | wraps a package that uses it, there won't be any confusion as to the |
---|
2945 | desired installation location. |
---|
2946 | ] |
---|
2947 | [Enhanced setuptools infrastructure to support distutils extensions that |
---|
2948 | pje**20050806184628 |
---|
2949 | can be plugged in at setup() time to define new setup() arguments or |
---|
2950 | distutils commands. This allows modularization and reuse of distutils |
---|
2951 | extensions in a way that was previously not possible. |
---|
2952 | ] |
---|
2953 | [Allow specifying an environment and/or installer for entry-point loading. |
---|
2954 | pje**20050806175658 |
---|
2955 | This will be used by setuptools to automatically install eggs that may be |
---|
2956 | needed as part of a build process, or to invoke a particular command. |
---|
2957 | ] |
---|
2958 | [Change dependency processing algorithm for less redundancy in the common |
---|
2959 | pje**20050806175455 |
---|
2960 | case, and more thoroughness in the --always-copy case. |
---|
2961 | ] |
---|
2962 | [Fix wrongly including files that Subversion has marked deleted. |
---|
2963 | pje**20050806162644] |
---|
2964 | [Performance boosts: don't create environment during require()/resolve() |
---|
2965 | pje**20050806023052 |
---|
2966 | if all requirements can be met with items already in the working set. |
---|
2967 | Don't eagerly determine whether a path is a directory. Avoid redundant |
---|
2968 | path operations, etc. These changes dropped the test suite runtime from |
---|
2969 | over 3.4 seconds to around .34 seconds. |
---|
2970 | ] |
---|
2971 | [Fix a problem with zip paths reported by Ashley Walsh. |
---|
2972 | pje**20050803131850] |
---|
2973 | [Misc. bugs reported by Ian Bicking and Ashley Walsh. |
---|
2974 | pje**20050731163118] |
---|
2975 | [Misc. bug fixes and doc additions. Add 'iter_entry_points()' API. |
---|
2976 | pje**20050725031251] |
---|
2977 | [Implement "entry points" for dynamic discovery of drivers and plugins. |
---|
2978 | pje**20050724224706 |
---|
2979 | Change setuptools to discover setup commands using an entry point group |
---|
2980 | called "distutils.commands". Thanks to Ian Bicking for the suggestion that |
---|
2981 | led to designing this super-cool feature. |
---|
2982 | ] |
---|
2983 | [Fix eager resource extraction. Add eager_resources setup() argument. Add |
---|
2984 | pje**20050724175927 |
---|
2985 | support for obtaining project-level resources by making get_provider() |
---|
2986 | accept Requirement objects. |
---|
2987 | ] |
---|
2988 | [Fix a regression; this code was changed in order to avoid being fooled by |
---|
2989 | pje**20050724055107 |
---|
2990 | incompatible eggs that might have ended up in the distribution directory, |
---|
2991 | but the "fixed" code was broken. |
---|
2992 | ] |
---|
2993 | [Implement --editable option, which allows you to just download and extract |
---|
2994 | pje**20050724024144 |
---|
2995 | (or check out from Subversion) one or more source distributions, without |
---|
2996 | actually building or installing them (or their dependencies). |
---|
2997 | ] |
---|
2998 | [Fixed the setup script sandbox facility not recognizing certain paths as |
---|
2999 | pje**20050724023820 |
---|
3000 | valid on case-insensitive platforms. |
---|
3001 | ] |
---|
3002 | [Improved backward compatibility of Mac OS platform string changes, thanks |
---|
3003 | pje**20050721161134 |
---|
3004 | to more help from Kevin Dangoor. |
---|
3005 | ] |
---|
3006 | [Tweak Mac OS platform string based on Mac SIG feedback: remove "micro" |
---|
3007 | pje**20050721045050 |
---|
3008 | version number, and map "PowerPC" and "Power_Macintosh" to "ppc". |
---|
3009 | ] |
---|
3010 | [Added support for handling MacOS platform information in ``.egg`` |
---|
3011 | pje**20050721011131 |
---|
3012 | filenames, based on a contribution by Kevin Dangoor. (NOTE: this may make |
---|
3013 | eggs compiled for OS X with older versions of setuptools unusable! If you |
---|
3014 | have eggs whose file/directory names end with ``-darwin-*.egg``, you will |
---|
3015 | probably need to rename them to ``-macosx-*.egg``, substituting your |
---|
3016 | current Mac OS version for the darwin kernel version in the version number. |
---|
3017 | Or, you can just delete and reinstall the problematic eggs.) |
---|
3018 | ] |
---|
3019 | [Make 'test' command work correctly with the 0.6 WorkingSet class. |
---|
3020 | pje**20050721005107] |
---|
3021 | [Fixed installing extra ``.pyc`` or ``.pyo`` files for scripts with ``.py`` |
---|
3022 | pje**20050721004945 |
---|
3023 | extensions. |
---|
3024 | ] |
---|
3025 | [Catch a few missed terminology changes. |
---|
3026 | pje**20050718022814] |
---|
3027 | [Massive API refactoring; see setuptools.txt changelog for details. Also, |
---|
3028 | pje**20050718020630 |
---|
3029 | add ``#egg=project-version`` link support, and docs on how to make your |
---|
3030 | package available for EasyInstall to find. |
---|
3031 | ] |
---|
3032 | [Massive API refactoring; see setuptools.txt changelog for details. Also, |
---|
3033 | pje**20050718013945 |
---|
3034 | add ``#egg=project-version`` link support, and docs on how to make your |
---|
3035 | package available for EasyInstall to find. |
---|
3036 | ] |
---|
3037 | [The ``path`` attribute of ``Distribution`` objects is now ``location``, |
---|
3038 | pje**20050717195438 |
---|
3039 | because it isn't necessarily a filesystem path (and hasn't been for some |
---|
3040 | time now). ``Distribution`` objects now have an ``as_requirement()`` |
---|
3041 | method that returns a ``Requirement`` for the distribution's project name |
---|
3042 | and version. |
---|
3043 | ] |
---|
3044 | [``Distribution`` objects now implement the ``IResourceProvider`` and |
---|
3045 | pje**20050717190115 |
---|
3046 | ``IMetadataProvider`` interfaces, so you don't need to reference the (no |
---|
3047 | longer available) ``metadata`` attribute to get at these interfaces. |
---|
3048 | ] |
---|
3049 | [Renamings for consistent terminology; distributions and requirements now |
---|
3050 | pje**20050717044242 |
---|
3051 | both have 'project_name' attributes, instead of one having 'name' and the |
---|
3052 | other 'distname'. Requirements no longer have 'options', they have |
---|
3053 | 'extras'. This is the beginning of the terminology/architecture |
---|
3054 | refactoring described at: |
---|
3055 | |
---|
3056 | http://mail.python.org/pipermail/distutils-sig/2005-June/004652.html |
---|
3057 | ] |
---|
3058 | [Added ``--site-dirs`` option to allow adding custom "site" directories. |
---|
3059 | pje**20050716215750 |
---|
3060 | Made ``easy-install.pth`` work in platform-specific alternate site |
---|
3061 | directories (e.g. ``~/Library/Python/2.x/site-packages``). |
---|
3062 | ] |
---|
3063 | [Fixed some problems using ``pkg_resources`` w/PEP 302 loaders other than |
---|
3064 | pje**20050716172535 |
---|
3065 | ``zipimport``. Fixed ``pkg_resources.resource_exists()`` not working |
---|
3066 | correctly. |
---|
3067 | ] |
---|
3068 | [Fix only detecting the revision number of the setup directory, not the |
---|
3069 | pje**20050716164302 |
---|
3070 | highest revision number for the project as a whole. |
---|
3071 | ] |
---|
3072 | [prep for 0.5a13 release |
---|
3073 | pje**20050716161729] |
---|
3074 | [Fix a problem extracting resources from nested packages. |
---|
3075 | pje**20050715041137] |
---|
3076 | [Fix formatting error. |
---|
3077 | pje**20050715041012] |
---|
3078 | [Prep for 0.5a12 release; update docs. |
---|
3079 | pje**20050713001000] |
---|
3080 | [Updated extraction/cache mechanism for zipped resources to avoid inter- |
---|
3081 | pje**20050713000925 |
---|
3082 | process and inter-thread races during extraction. The default cache |
---|
3083 | location can now be set via the ``PYTHON_EGGS_CACHE`` environment variable, |
---|
3084 | and the default Windows cache is now a ``Python-Eggs`` subdirectory of the |
---|
3085 | current user's "Application Data" directory, if the ``PYTHON_EGGS_CACHE`` |
---|
3086 | variable isn't set. |
---|
3087 | ] |
---|
3088 | [Update zip-safety scanner to check for modules that might be used as |
---|
3089 | pje**20050712234322 |
---|
3090 | ``python -m`` scripts. Misc. fixes for win32.exe support, including |
---|
3091 | changes to support Python 2.4's changed ``bdist_wininst`` format. |
---|
3092 | ] |
---|
3093 | [Fixed not being able to use python -m easy_install. |
---|
3094 | pje**20050712232232] |
---|
3095 | [Add a message explaining that you can use -U setuptools to reinstall or |
---|
3096 | pje**20050712232206 |
---|
3097 | upgrade setuptools. |
---|
3098 | ] |
---|
3099 | [Fix breakage of the "develop" command that was caused by the addition of |
---|
3100 | pje**20050712160900 |
---|
3101 | ``--always-unzip`` to the ``easy_install`` command. Bump version for bug |
---|
3102 | fix release. |
---|
3103 | ] |
---|
3104 | [Drop links to the Windows installer; it was installing an "unmanaged" |
---|
3105 | pje**20050712053458 |
---|
3106 | version of setuptools! |
---|
3107 | ] |
---|
3108 | [Bump version #. |
---|
3109 | pje**20050712053205] |
---|
3110 | [Fix bugs and implement features reported/requested by folks on the |
---|
3111 | pje**20050712053136 |
---|
3112 | Distutils-SIG. |
---|
3113 | ] |
---|
3114 | [Update to 0.5a9, add zip_safe flag, and fix a doc error. |
---|
3115 | pje**20050711042157] |
---|
3116 | [Enhanced "zip safety" analysis (including scan of win32.exe's) and have |
---|
3117 | pje**20050711041248 |
---|
3118 | EasyInstall act on zip safety flags. Add a lot more docs for setuptools. |
---|
3119 | ] |
---|
3120 | [First-pass implementation of zippability analysis; scans for impure |
---|
3121 | pje**20050710162426 |
---|
3122 | distribution or use of __file__/__path__ and selected 'inspect' operations. |
---|
3123 | Currently, the analysis is a bit overconservative; when the runtime is more |
---|
3124 | robust, it should probably allow extensions to be zipped by default. |
---|
3125 | ] |
---|
3126 | [Implement ``namespace_packages`` keyword to ``setup()``. Added keyword |
---|
3127 | pje**20050710154308 |
---|
3128 | summary to setuptools doc. Begin work on ``zip_safe`` flag. |
---|
3129 | ] |
---|
3130 | [Add an example of using the new "directory w/setup.py" feature |
---|
3131 | pje**20050710152412] |
---|
3132 | [EasyInstall now builds eggs in a temporary directory alongside the setup |
---|
3133 | pje**20050710052944 |
---|
3134 | script it's running. This avoids it getting confused by projects with |
---|
3135 | non-standard distribution locations, and projects that may have various |
---|
3136 | eggs already sitting in their distribution directory. It should probably |
---|
3137 | also do something like this for the build directory to ensure a clean, |
---|
3138 | fresh build, but it seems like overkill, since it only affects local |
---|
3139 | projects, not stuff that EasyInstall downloaded in the first place. |
---|
3140 | ] |
---|
3141 | [Allow EasyInstall to accept a directory containing a setup script as one |
---|
3142 | pje**20050710050631 |
---|
3143 | of its arguments. Fix swapped short option names for --bdist-dir and |
---|
3144 | --dist-dir in bdist_egg. |
---|
3145 | ] |
---|
3146 | [Detect and handle conflicts with "unmanaged" packages when installing |
---|
3147 | pje**20050710044931 |
---|
3148 | packages managed by EasyInstall. Also, add an option to exclude source |
---|
3149 | files from .egg distributions. |
---|
3150 | ] |
---|
3151 | [Added command reference to documentation. |
---|
3152 | pje**20050709162723] |
---|
3153 | [Changed --tag-svn-revision to include an "r" in front of the revision |
---|
3154 | pje**20050709162554 |
---|
3155 | number for better readability. |
---|
3156 | ] |
---|
3157 | [Remove old-style requirements from setup.py, to avoid confusing people who |
---|
3158 | pje**20050709042738 |
---|
3159 | look to it for an example of setuptools use. |
---|
3160 | ] |
---|
3161 | [Add informative comment when uploading eggs, to help distinguish them from |
---|
3162 | pje**20050709042621 |
---|
3163 | source archives. |
---|
3164 | ] |
---|
3165 | [Fix typos in option specs for bdist_egg. |
---|
3166 | pje**20050709042549] |
---|
3167 | [Added ``exclude=patternlist`` option to ``setuptools.find_packages()`` |
---|
3168 | pje**20050709042438] |
---|
3169 | [Include ``svn:externals`` directories in source distributions as well as |
---|
3170 | pje**20050709042122 |
---|
3171 | normal subversion-controlled files and directories. |
---|
3172 | ] |
---|
3173 | [Doc and other updates for 0.5a8 release. Add project aliases for source |
---|
3174 | pje**20050708155205 |
---|
3175 | and binary register+upload. |
---|
3176 | ] |
---|
3177 | [Delete empty sections when their last option is deleted. |
---|
3178 | pje**20050708155032] |
---|
3179 | [Cleaner argument quoting in command aliases. |
---|
3180 | pje**20050708154953] |
---|
3181 | [Partial first draft documentation for setuptools. Split revision history |
---|
3182 | pje**20050708151314 |
---|
3183 | between setuptools and easy_install docs. Pull project's long_description |
---|
3184 | from the documentation, for a more informative PyPI project page. |
---|
3185 | ] |
---|
3186 | [Restructured the 'alias' command to take arguments instead of options, and |
---|
3187 | pje**20050708151119 |
---|
3188 | to display the definition of the named alias or of all aliases. |
---|
3189 | ] |
---|
3190 | [Fix a couple of command descriptions. |
---|
3191 | pje**20050708051120] |
---|
3192 | [Added support for defining command aliases in distutils configuration |
---|
3193 | pje**20050708050923 |
---|
3194 | files, under the "[aliases]" section. To prevent recursion and to allow |
---|
3195 | aliases to call the command of the same name, a given alias can be expanded |
---|
3196 | only once per command-line invocation. You can define new aliases with the |
---|
3197 | "alias" command, either for the local, global, or per-user configuration. |
---|
3198 | ] |
---|
3199 | [* Added "rotate" command to delete old distribution files, given a set of |
---|
3200 | pje**20050708044820 |
---|
3201 | patterns to match and the number of files to keep. (Keeps the most |
---|
3202 | recently-modified distribution files matching each pattern.) |
---|
3203 | |
---|
3204 | * Added "saveopts" command that saves all command-line options for the |
---|
3205 | current invocation to the local, global, or per-user configuration file. |
---|
3206 | Useful for setting defaults without having to hand-edit a configuration |
---|
3207 | file. |
---|
3208 | |
---|
3209 | * Added a "setopt" command that sets a single option in a specified |
---|
3210 | distutils configuration file. |
---|
3211 | ] |
---|
3212 | [The "egg_info" command now always sets the distribution metadata to "safe" |
---|
3213 | pje**20050708044558 |
---|
3214 | forms of the distribution name and version, so that distribution files will |
---|
3215 | be generated with parseable names (i.e., ones that don't include '-' in the |
---|
3216 | name or version). Also, this means that if you use the various ``--tag`` |
---|
3217 | options of "egg_info", any distributions generated will use the tags in the |
---|
3218 | version, not just egg distributions. |
---|
3219 | ] |
---|
3220 | [Fix problems upgrading an already-installed setuptools version. |
---|
3221 | pje**20050707163831] |
---|
3222 | [Add upload support to setuptools, and make default downloads of setuptools |
---|
3223 | pje**20050707162843 |
---|
3224 | come from PyPI/python.org rather than from telecommunity.com. Bump to |
---|
3225 | version 0.5a7. |
---|
3226 | ] |
---|
3227 | [Bump release version |
---|
3228 | pje**20050707021014] |
---|
3229 | [Update revision history. |
---|
3230 | pje**20050707020556] |
---|
3231 | [Beefed up the "sdist" command so that if you don't have a MANIFEST.in, it |
---|
3232 | pje**20050707020325 |
---|
3233 | will include all files under revision control (CVS or Subversion) in the |
---|
3234 | current directory, and it will regenerate the list every time you create a |
---|
3235 | source distribution, not just when you tell it to. This should make the |
---|
3236 | default "do what you mean" more often than the distutils' default behavior |
---|
3237 | did, while still retaining the old behavior in the presence of MANIFEST.in. |
---|
3238 | ] |
---|
3239 | [Slightly changed the format of the generated version when you use |
---|
3240 | pje**20050707020154 |
---|
3241 | ``--tag-build`` on the "egg_info" command, so that you can make tagged |
---|
3242 | revisions compare *lower* than the version specified in setup.py (e.g. by |
---|
3243 | using ``--tag-build=dev``). |
---|
3244 | ] |
---|
3245 | [Don't modify .pth files when in --dry-run/-n mode. |
---|
3246 | pje**20050707015759] |
---|
3247 | [Fix for .py scripts that might be imported (e.g. the "py" library's hideous |
---|
3248 | pje**20050707015357 |
---|
3249 | '_findpy.py' hack.) |
---|
3250 | ] |
---|
3251 | [Backward-compatibility fix, so ez_setup can upgrade older versions of |
---|
3252 | pje**20050707015221 |
---|
3253 | setuptools. |
---|
3254 | ] |
---|
3255 | [Add a note about interaction between exemaker and easy_install |
---|
3256 | pje**20050707015146] |
---|
3257 | [Bump version to 0.5a5. |
---|
3258 | pje**20050706034704] |
---|
3259 | [Added ``develop`` command to ``setuptools``-based packages. This command |
---|
3260 | pje**20050706034616 |
---|
3261 | installs an ``.egg-link`` pointing to the package's source directory, and |
---|
3262 | script wrappers that ``execfile()`` the source versions of the package's |
---|
3263 | scripts. This lets you put your development checkout(s) on sys.path |
---|
3264 | without having to actually install them. (To uninstall the link, use |
---|
3265 | use ``setup.py develop --uninstall``.) |
---|
3266 | ] |
---|
3267 | [Made ``easy_install`` a standard ``setuptools`` command, moving it from |
---|
3268 | pje**20050706021048 |
---|
3269 | the ``easy_install`` module to ``setuptools.command.easy_install``. Note |
---|
3270 | that if you were importing or extending it, you must now change your |
---|
3271 | imports accordingly. ``easy_install.py`` is still installed as a script, |
---|
3272 | but not as a module. |
---|
3273 | ] |
---|
3274 | [Enhanced the ``test`` command so that it doesn't install the package, but |
---|
3275 | pje**20050706015408 |
---|
3276 | instead builds any C extensions in-place, updates the ``.egg-info`` |
---|
3277 | metadata, adds the source directory to ``sys.path``, and runs the tests |
---|
3278 | directly on the source. This avoids an "unmanaged" installation of the |
---|
3279 | package to ``site-packages`` or elsewhere. (Also, fix a breaking test of |
---|
3280 | older dependency support; this should probably be removed altogether, as |
---|
3281 | long as nobody's using it.) |
---|
3282 | ] |
---|
3283 | [Added ``egg_info`` command to ``setuptools``-based packages. This command |
---|
3284 | pje**20050706013741 |
---|
3285 | just creates or updates the "projectname.egg-info" directory, without |
---|
3286 | building an egg. It's used by the ``bdist_egg`` command now, and will be |
---|
3287 | used by the ``test`` and ``develop`` commands later on. |
---|
3288 | ] |
---|
3289 | [Fix a problem using bdist_egg with non-setuptools distributions. |
---|
3290 | pje**20050704184541] |
---|
3291 | [Fix typo |
---|
3292 | pje**20050704184502] |
---|
3293 | [Add missing download links |
---|
3294 | pje**20050704184426] |
---|
3295 | [EasyInstall/setuptools 0.5a4: significant new features, including automatic |
---|
3296 | pje**20050627003103 |
---|
3297 | installation of dependencies, the ability to specify dependencies in a |
---|
3298 | setup script, and several new options to control EasyInstall's behavior. |
---|
3299 | ] |
---|
3300 | [0.5a3 bugfix release |
---|
3301 | pje**20050625193306] |
---|
3302 | [Fix stupid typos. |
---|
3303 | pje**20050615023910] |
---|
3304 | [Add support for installing from .win32.exe's created by distutils (by |
---|
3305 | pje**20050615022348 |
---|
3306 | converting them to eggs). Bump version to 0.5a1. |
---|
3307 | ] |
---|
3308 | [Add bootstrap installation support that "hitches a ride" on other packages |
---|
3309 | pje**20050615021942 |
---|
3310 | being installed via the normal distutils "setup.py install". Also, don't |
---|
3311 | repeatedly download the setuptools egg if it's already in the target |
---|
3312 | location. |
---|
3313 | ] |
---|
3314 | [Fix incorrect sorting of packages by string version instead of parsed |
---|
3315 | pje**20050615021603 |
---|
3316 | version info. Don't set a default Python version for distribution |
---|
3317 | objects. Add enum for binary distributions (like bdist_wininst). |
---|
3318 | ] |
---|
3319 | [Make write_stub() a function, so easy_install can use it too. |
---|
3320 | pje**20050615021249] |
---|
3321 | [Enhance unpack_* utilities to allow on-the-fly redirection of where files |
---|
3322 | pje**20050615021109 |
---|
3323 | are extracted to. |
---|
3324 | ] |
---|
3325 | [Bump version # for release. |
---|
3326 | pje**20050614154844] |
---|
3327 | [Add support for quiet/verbose/dry-run/optimize flags. |
---|
3328 | pje**20050614153032] |
---|
3329 | [Fix more zipped-egg directory resource bugs reported by Ryan Tomayko. |
---|
3330 | pje**20050614152941] |
---|
3331 | [Support downloading packages that were uploaded to PyPI (by scanning all |
---|
3332 | pje**20050614124635 |
---|
3333 | links on package pages, not just the homepage/download links). |
---|
3334 | ] |
---|
3335 | [Fix typos found by Ryan Tomayko. |
---|
3336 | pje**20050614124443] |
---|
3337 | [Oops, forgot to bump a version number. |
---|
3338 | pje**20050614013119] |
---|
3339 | [Update to version 0.4a3 |
---|
3340 | pje**20050614012959] |
---|
3341 | [Fix missing '__file__' when running scripts. |
---|
3342 | pje**20050614012844] |
---|
3343 | [Cosmetic improvements to progress messages. |
---|
3344 | pje**20050614012712] |
---|
3345 | [Add lots of progress messages, so people know what the package search is |
---|
3346 | pje**20050614012626 |
---|
3347 | doing. |
---|
3348 | ] |
---|
3349 | [Fix a bug in resource_isdir(), introduced in 0.4a2. Add str/repr of |
---|
3350 | pje**20050614012548 |
---|
3351 | Distribution objects. |
---|
3352 | ] |
---|
3353 | [Add 'ez_setup' bootstrap installer. Prep for 0.4a2 release. |
---|
3354 | pje**20050612214734] |
---|
3355 | [Add script installation support. Use distutils' exceptions for option |
---|
3356 | pje**20050612192645 |
---|
3357 | errors. Include Python version in setuptools' egg name for compatibility |
---|
3358 | w/installs via easy_install. Add isdir/listdir facilities for metadata, |
---|
3359 | along with support for running scripts from eggs. |
---|
3360 | ] |
---|
3361 | [Restructure easy_install as a distutils "Command" object, so that it can |
---|
3362 | pje**20050612154954 |
---|
3363 | access the distutils configuration and logging infrastructure, and can |
---|
3364 | "inherit" options from a distutils setup script that wants to use it to |
---|
3365 | install its own dependencies. |
---|
3366 | ] |
---|
3367 | [Move package index/downloading stuff to setuptools.package_index module. |
---|
3368 | pje**20050612034407] |
---|
3369 | [Rebalance responsibilities between PackageIndex, Installer, and main() so |
---|
3370 | pje**20050612030753 |
---|
3371 | that PackageIndex handles all downloading of any kind, Installers can be |
---|
3372 | reused for multiple packages, and main() manages temporary directories and |
---|
3373 | all communication between PackageIndex and Installer. Also, change |
---|
3374 | run_setup to take an argument sequence, because later we will probably need |
---|
3375 | other arguments to control other aspects of run_setup's behavior. |
---|
3376 | ] |
---|
3377 | [Split setup-running and archive-extraction utilities into separate modules, |
---|
3378 | pje**20050612011234 |
---|
3379 | for easy use by tools other than EasyInstall. |
---|
3380 | ] |
---|
3381 | [Package scripts under EGG-INFO/scripts. Refactor subcommand invocations |
---|
3382 | pje**20050607044151 |
---|
3383 | for less duplication and greater clarity. |
---|
3384 | ] |
---|
3385 | [Update distribution metadata so 'setup.py register' works; add 'extra_path' |
---|
3386 | pje**20050606033048 |
---|
3387 | so that setuptools can install itself in egg form. |
---|
3388 | ] |
---|
3389 | [Update docs for PyPI support, prep for 0.4a1 release |
---|
3390 | pje**20050605215541] |
---|
3391 | [Implement PyPI screenscraping for EasyInstall. Fix a bug in requirement |
---|
3392 | pje**20050605213351 |
---|
3393 | version checking. Document new options for screen scraping. |
---|
3394 | ] |
---|
3395 | [Add "safe_name" and "safe_version" functions to allow sanitizing of |
---|
3396 | pje**20050605185937 |
---|
3397 | distribution names and versions in arbitrary packages that might be built |
---|
3398 | using EasyInstall. |
---|
3399 | ] |
---|
3400 | [Partial support for autolocation of packages via link harvesting. Still |
---|
3401 | pje**20050605012430 |
---|
3402 | needs a little work to get PyPI support working, and automatic dependency |
---|
3403 | resolution. But for now you can do: |
---|
3404 | |
---|
3405 | easy_install -s http://example.com/download.html SomePackage |
---|
3406 | |
---|
3407 | And easy_install will find the best-looking download link on the page for |
---|
3408 | instaling SomePackage. |
---|
3409 | ] |
---|
3410 | [Make ``AvailableDistributions`` keep track of the desired platform/python. |
---|
3411 | pje**20050605012009 |
---|
3412 | Add a ``can_add()`` method that indicates whether a distribution matches |
---|
3413 | the collection's desired platform and Python version. Fix a bug in |
---|
3414 | ``Distribution.from_filename()`` when the filename has no Python version. |
---|
3415 | ] |
---|
3416 | [Updated for v0.3a4 |
---|
3417 | pje**20050605004811] |
---|
3418 | [Add support for prioritized sorting of distributions by distribution type, |
---|
3419 | pje**20050605004736 |
---|
3420 | to assist easy_install in indexing packages from PyPI. |
---|
3421 | ] |
---|
3422 | [Fix a minor problem with -b option, and prep for 0.3a4 release. |
---|
3423 | pje**20050604213513] |
---|
3424 | [Add support for resource isdir/listdir operations. Support directory |
---|
3425 | pje**20050604211819 |
---|
3426 | extraction and "egg baskets" for .zips. Add import locking for namespace |
---|
3427 | package manipulation routines. |
---|
3428 | ] |
---|
3429 | [Release 0.3a3 |
---|
3430 | pje**20050531003454] |
---|
3431 | [Ditch outdated TODO file, move docs to a new 'EasyInstall.txt' file. Fix |
---|
3432 | pje**20050531002445 |
---|
3433 | installation report for .egg files/directories. |
---|
3434 | ] |
---|
3435 | [Add option to allow specifying a download/extract/build directory, which |
---|
3436 | pje**20050530235233 |
---|
3437 | will be kept after installation completes. Added an "installation report" |
---|
3438 | that tells you how to use 'require()' to activate a particular package |
---|
3439 | version. Installer.install_eggs() now returns a list of Distribution |
---|
3440 | objects for the eggs it found and installed, so that the command-line tool |
---|
3441 | can print an installation report for each one. |
---|
3442 | ] |
---|
3443 | [Ensure that the distribution name written to PKG-INFO is the same as the |
---|
3444 | pje**20050530232210 |
---|
3445 | name you'll use in 'require()' operations for that distribution. |
---|
3446 | ] |
---|
3447 | [Add setup script "sandboxing" -- abort a setup script if it tries to write |
---|
3448 | pje**20050530232034 |
---|
3449 | to the filesystem outside of the installer's temporary directory. This is |
---|
3450 | accomplished by temporarily replacing 'os.*' functions and the 'open' |
---|
3451 | builtin with path-validation wrappers. |
---|
3452 | ] |
---|
3453 | [Reorganize bdist_egg's handling of 'install_data' to better deal with the |
---|
3454 | pje**20050530064601 |
---|
3455 | various kludges legacy packages are using to install data in their package |
---|
3456 | directories. Some use absolute paths in 'distribution.data_files', while |
---|
3457 | others create various subclasses of 'install_data', each with their own |
---|
3458 | way of finding out what directory to use! So 'bdist_egg' now does all its |
---|
3459 | 'install_lib' activity before 'install_data', and pokes the desired build |
---|
3460 | directory into a wide variety of places, so that all of the known kludges |
---|
3461 | so far will work correctly. It also checks for absolute paths in |
---|
3462 | 'data_files' (carefully working around other packages' 'data_files' |
---|
3463 | kludges!) and converts them back to relative ones, if they are subpaths of |
---|
3464 | site-packages. |
---|
3465 | |
---|
3466 | Clearly, we need to get the word out about 'package_files' in Python 2.4 |
---|
3467 | and above, and suggest using 'setuptools' for Python 2.3. |
---|
3468 | ] |
---|
3469 | [Add SourceForge download support, graciously contributed by Ian Bicking. |
---|
3470 | pje**20050530033750 |
---|
3471 | Also, move some more imports to the top. |
---|
3472 | ] |
---|
3473 | [Bump version to 0.3a2 for release |
---|
3474 | pje**20050529221430] |
---|
3475 | [Add subversion support, loosely based on an implementation by Ian Bicking. |
---|
3476 | pje**20050529220846 |
---|
3477 | EasyInstall now recognizes both 'svn' URLs (including 'svn+ssh' et al), and |
---|
3478 | notices when it connects to an HTTP server that's actually a subversion |
---|
3479 | repository. In either case it does a subversion checkout of the package. |
---|
3480 | Also, fixed a bug on platforms with os.samefile(). |
---|
3481 | ] |
---|
3482 | [Added options to alter eggs' version number by tagging with the subversion |
---|
3483 | pje**20050529220539 |
---|
3484 | revision number, date, and/or a custom tag. This should make it easier for |
---|
3485 | people to produce e.g. automated nightly builds of eggs. |
---|
3486 | ] |
---|
3487 | [Add support for using Installer subclasses, especially ones with support |
---|
3488 | pje**20050529071343 |
---|
3489 | for searching a package database. |
---|
3490 | ] |
---|
3491 | [Oddly enough, some setup.py files actually check __name__=='__main__' |
---|
3492 | pje**20050529064114] |
---|
3493 | [Correctly recognize .egg files that are already on sys.path (or whatever |
---|
3494 | pje**20050529052059 |
---|
3495 | path AvailableDistributions is scanning) |
---|
3496 | ] |
---|
3497 | [Handle distributions with ' ' in their names |
---|
3498 | pje**20050529051959] |
---|
3499 | [Add link to Python Eggs page in doc; fix a problem with non-standard source |
---|
3500 | pje**20050529013601 |
---|
3501 | distros (where setup.py is in the archive root). |
---|
3502 | ] |
---|
3503 | [Remove exemaker spew from easy_install.py |
---|
3504 | pje**20050529001825] |
---|
3505 | [Add "easy_install" script that downloads distutils source (or .egg files) |
---|
3506 | pje**20050529001722 |
---|
3507 | and builds and installs them as eggs, with support for managing .pth files. |
---|
3508 | Built distributions are installed in individual subdirectories, so you can |
---|
3509 | either add the directory to a .pth (automatically done by default), or you |
---|
3510 | can use pkg_resources.require() to manage your dependencies explicitly. |
---|
3511 | Because each distribution is in its own directory (or .egg file), |
---|
3512 | uninstallation and clean upgrades are trivial, without the aid of any sort |
---|
3513 | of package manager. |
---|
3514 | ] |
---|
3515 | [Add experimental 'install_data' support to 'bdist_egg'. The most common |
---|
3516 | pje**20050528230559 |
---|
3517 | distutils custom command hack in the field is to make 'install_data' |
---|
3518 | put data in with the target packages by changing the --install-data to |
---|
3519 | match --install-lib, so this should let bdist_egg work with more packages |
---|
3520 | "out of the box". |
---|
3521 | ] |
---|
3522 | [Fix some typos and a missing import |
---|
3523 | pje**20050525032232] |
---|
3524 | [Implement draft support for namespace packages, both declaring them |
---|
3525 | pje**20050525030653 |
---|
3526 | initially and fixing them up when new eggs are added to sys.path. At the |
---|
3527 | moment, all namespace packages are fixed up whenever any new egg is added |
---|
3528 | to sys.path, but this might not scale well if there are lots of eggs and |
---|
3529 | lots of namespace packages. Perhaps we should limit namespace fixups to |
---|
3530 | namespace packages explicitly declared in the egg? |
---|
3531 | ] |
---|
3532 | [Support registering distribution finders for arbitrary PEP 302 importer |
---|
3533 | pje**20050525005039 |
---|
3534 | types, so that the directory scanner isn't a hardcoded case. |
---|
3535 | ] |
---|
3536 | [Implement a draft version of 'find_distributions()' with hardcoded support |
---|
3537 | pje**20050524011524 |
---|
3538 | for packed and unpacked .egg files and .egg-info dirs. This will need to |
---|
3539 | be refactored later to support registering adapters for arbitrary PEP 302 |
---|
3540 | importers, so that it can deal with non-filesystem sys.path entries. |
---|
3541 | |
---|
3542 | In the meantime, however, this means that 'require()' now works and that |
---|
3543 | intrepid souls may now witness the power of this fully operational battle |
---|
3544 | station... |
---|
3545 | ] |
---|
3546 | [Make AvailableDistributions check distributions for Python version |
---|
3547 | pje**20050523021752 |
---|
3548 | compatibility as well as platform compatibility. Rename get_distro_source |
---|
3549 | to 'find_distributions', and get rid of intermediate distro-source objects. |
---|
3550 | ] |
---|
3551 | [Add a rough draft of Distribution.install_on(), to let others experiment |
---|
3552 | pje**20050523020042 |
---|
3553 | with 'require()' before the "official" version is complete. |
---|
3554 | ] |
---|
3555 | [Add tests for AvailableDistributions().resolve(). This effectively |
---|
3556 | pje**20050523015627 |
---|
3557 | completes the core dependency resolution engine; all we need now is a way |
---|
3558 | to turn sys.path entries into "distribution sources" that can list |
---|
3559 | Distribution objects for inclusion in an instance of |
---|
3560 | AvailableDistributions, and the 'require("SomePkg>=2.7")' API will be |
---|
3561 | usable. |
---|
3562 | ] |
---|
3563 | [Added support for specifying options on requirements, so that a package's |
---|
3564 | pje**20050522202847 |
---|
3565 | optional dependencies can be included when processing nested dependencies. |
---|
3566 | Next up: tests for the resolve() algorithm. |
---|
3567 | ] |
---|
3568 | [Distribution metadata parsing: distribution objects can now extract their |
---|
3569 | pje**20050522194022 |
---|
3570 | version from PKG-INFO and their dependencies from depends.txt, including |
---|
3571 | optional dependencies. |
---|
3572 | ] |
---|
3573 | [Refine dependency resolution algorithm so it won't take exponential time, |
---|
3574 | pje**20050522181700 |
---|
3575 | or bomb on cyclic dependencies. (But it's still an untested sketch.) |
---|
3576 | Added list of things that need to be implemented before dependency |
---|
3577 | resolution can actually work. Added tests for lower-level parts of the |
---|
3578 | dependency resolution system, and a hook to support subclasses doing |
---|
3579 | automatic download of needed dependencies. |
---|
3580 | ] |
---|
3581 | [Add basic "Requirement" class that can tell whether a distribution or |
---|
3582 | pje**20050521214257 |
---|
3583 | version meets its version requirements. |
---|
3584 | ] |
---|
3585 | [Added "AvailableDistributions" class that finds and indexes usable |
---|
3586 | pje**20050403185221 |
---|
3587 | distributions; this replaces the previous "iter_distributions()" API. |
---|
3588 | Added basic platform support to Distribution and AvailableDistributions so |
---|
3589 | that platform-independent distros as well as local platform-compatible |
---|
3590 | distros are acceptable. The actual platform scheme is currently delegated |
---|
3591 | to distutils.util.get_platform(), but needs to be replaced with a better |
---|
3592 | scheme of some kind, especially for OS X. |
---|
3593 | ] |
---|
3594 | [Remove setuptools_boot.py, as it can now be trivially replaced by including |
---|
3595 | pje**20050403172338 |
---|
3596 | a setuptools .egg file in your source distribution, and adding it to |
---|
3597 | sys.path in your setup.py. |
---|
3598 | ] |
---|
3599 | [Fix handling of -/_ so that they are canonicalized to '-' when doing name |
---|
3600 | pje**20050403012108 |
---|
3601 | or version comparisons, but rendered as '_' in egg filenames. |
---|
3602 | ] |
---|
3603 | [Add a "Distribution" object that wraps a sys.path entry with metadata, and |
---|
3604 | pje**20050403004658 |
---|
3605 | can extract its name/version/pythonversion/platform if built from a .egg |
---|
3606 | filename. Later, distributions will be able to add themselves to sys.path |
---|
3607 | and request that their dependencies be added as well. Also, added some |
---|
3608 | real-life version test cases supplied by jemfinch. |
---|
3609 | ] |
---|
3610 | [Add a simple version parser that combines the pre-release smarts of |
---|
3611 | pje**20050402233113 |
---|
3612 | distutils' StrictVersion, with the flexibility of LooseVersion. It also |
---|
3613 | deals heuristically with common concepts like alpha/beta/candidate/rc |
---|
3614 | and pre/preview, as well as '-' and 'pl' branching schemes. |
---|
3615 | ] |
---|
3616 | [Rough draft of version requirement parser. Make bdist_egg look for a |
---|
3617 | pje**20050402024321 |
---|
3618 | distname.egg-info directory instead of EGG-INFO.in; this will be used later |
---|
3619 | to support development of egg-distributed packages that an application |
---|
3620 | under development expects to 'require()'. (Thanks to Fred Drake for |
---|
3621 | pointing out this use case, and Bob Ippolito for helping me figure out how |
---|
3622 | to support it, although the runtime support doesn't actually exist yet.) |
---|
3623 | ] |
---|
3624 | [Back out the addition of bogus 'if __name__=="__main__"' block; the One |
---|
3625 | pje**20050401212849 |
---|
3626 | Obvious Way to test setuptools is to run 'setup.py test', because that also |
---|
3627 | provides an integration test for the 'test' command. |
---|
3628 | ] |
---|
3629 | [Specify and implement # comments in get_metadata_lines |
---|
3630 | etrepum**20050324202919 |
---|
3631 | A few more PEP 8 formatting fixes for pkg_resources |
---|
3632 | ] |
---|
3633 | [import StringIO at module level |
---|
3634 | etrepum**20050324192654] |
---|
3635 | [Reformat pkg_resources in PEP 8 style |
---|
3636 | etrepum**20050324192153] |
---|
3637 | [Add a working pkg_resources implementation that handles extraction and |
---|
3638 | pje**20050323004252 |
---|
3639 | basic support for non-egg resources. Still a lot to do, but this version |
---|
3640 | is capable of not only extracting and running C extensions, it can even |
---|
3641 | find its own runtime (pkg_resources) if it's included in the egg. |
---|
3642 | ] |
---|
3643 | [Fix bootstrap loader so extracted files don't have to be on sys.path. |
---|
3644 | pje**20050322185559] |
---|
3645 | [Create stub loaders for C extensions, so that the actual dynamic library |
---|
3646 | pje**20050322001503 |
---|
3647 | can be extracted from the egg. |
---|
3648 | ] |
---|
3649 | [Allow user-supplied metadata from EGG-INFO.in directory (directory name can |
---|
3650 | pje**20050321204157 |
---|
3651 | be overridden with a command-line option). |
---|
3652 | ] |
---|
3653 | [Add python version to egg filename. |
---|
3654 | pje**20050321201233] |
---|
3655 | [Add 'bdist_egg' command/format to allow creating "Python Eggs" (see |
---|
3656 | pje**20050321195046 |
---|
3657 | http://peak.telecommunity.com/DevCenter/PythonEggs for details). This |
---|
3658 | version only supports pure libraries and does not support user-defined |
---|
3659 | metadata. But it's sufficient to make .egg files that can be placed on |
---|
3660 | PYTHONPATH and used. |
---|
3661 | ] |
---|
3662 | [remove blank line pollution |
---|
3663 | fdrake**20040617203744] |
---|
3664 | [fix to make things continue to work when we're *not* running under |
---|
3665 | fdrake**20040615190003 |
---|
3666 | Python 2.4; this was broken by my earlier change to avoid stomping on |
---|
3667 | Python 2.4's build_py command |
---|
3668 | ] |
---|
3669 | [Deal with the distutils on the head; package_data may already be supported. |
---|
3670 | fdrake**20040614141534 |
---|
3671 | In this case, setuptools need not override the build_py command. |
---|
3672 | ] |
---|
3673 | [remove excess blank lines, and apply whitespace more in line with the Python |
---|
3674 | fdrake**20040405202153 |
---|
3675 | style guidelines in PEP 8 |
---|
3676 | ] |
---|
3677 | [- remove trailing blank lines |
---|
3678 | fdrake**20040405200245 |
---|
3679 | - use whitespace according to the Python style guide |
---|
3680 | ] |
---|
3681 | [remove trailing blank line |
---|
3682 | fdrake**20040405195911] |
---|
3683 | [Compute command line that should be passed to child setup scripts. |
---|
3684 | pje**20040322011231 |
---|
3685 | Warn user if unsupported options are supplied, and cancel unless |
---|
3686 | 'depends -i' (aka '--ignore-extra-args') was used. |
---|
3687 | ] |
---|
3688 | [Flesh out 'depends' command to display dependencies' status, and halt if |
---|
3689 | pje**20040320205212 |
---|
3690 | all requirements aren't met. (Also, check planned install location for |
---|
3691 | the dependencies, as well as checking sys.path.) Also: |
---|
3692 | |
---|
3693 | * Allow 'Feature()' objects to include 'Require()' objects, so that |
---|
3694 | dependencies can be optional |
---|
3695 | |
---|
3696 | * 'Require()' objects can set a homepage, whose URL will be displayed by |
---|
3697 | the 'depends' command if the dependency needs to be installed. |
---|
3698 | |
---|
3699 | * Misc. fixes/refactoring of version validation to properly handle |
---|
3700 | "unknown" versions, and to decouple version fetching from version |
---|
3701 | checking. |
---|
3702 | |
---|
3703 | * Updated TODO to remove various completed items. |
---|
3704 | ] |
---|
3705 | [Initial checkin of setuptools 0.0.1. |
---|
3706 | pje**20040319205314] |
---|
3707 | Patch bundle hash: |
---|
3708 | 58c09c213c6e76902e7373cb0a8632c98d612d93 |
---|