Merge lp:~mitya57/ubuntu/raring/python-defaults/resync into lp:ubuntu/raring/python-defaults
- Raring (13.04)
- resync
- Merge into raring
Status: | Merged |
---|---|
Merged at revision: | 95 |
Proposed branch: | lp:~mitya57/ubuntu/raring/python-defaults/resync |
Merge into: | lp:ubuntu/raring/python-defaults |
Diff against target: |
2405 lines (+681/-309) 52 files modified
Makefile (+4/-1) README.derivatives (+2/-2) debian/changelog (+124/-1) debian/control (+15/-13) debian/control.in (+10/-8) debian/idle.desktop (+1/-1) debian/idle.menu (+1/-1) debian/python-policy.sgml (+34/-40) debian/python.postinst.in (+2/-2) debian/python.postrm.in (+1/-2) debian/python.preinst.in (+3/-3) debian/python.prerm.in (+1/-2) debian/pyversions.py (+8/-4) debian/rules (+2/-2) debpython/debhelper.py (+3/-3) debpython/depends.py (+15/-15) debpython/files.py (+1/-1) debpython/namespace.py (+1/-1) debpython/option.py (+1/-1) debpython/pydist.py (+65/-13) debpython/tools.py (+42/-6) debpython/version.py (+20/-12) dh_python2 (+37/-20) dh_python2.rst (+49/-24) pyclean (+3/-4) pycompile (+5/-6) pydist/dist_fallback (+120/-69) pydist/generate_fallback_list.py (+3/-0) python2.pm (+1/-1) tests/Makefile (+1/-1) tests/common.mk (+12/-0) tests/t1/Makefile (+4/-8) tests/t1/debian/pydist-overrides (+1/-1) tests/t1/debian/rules (+1/-1) tests/t2/Makefile (+2/-8) tests/t3/Makefile (+7/-8) tests/t3/debian/rules (+8/-0) tests/t4/Makefile (+2/-8) tests/t5/Makefile (+2/-8) tests/t6/Makefile (+2/-8) tests/t7/Makefile (+18/-0) tests/t7/bar.py (+2/-0) tests/t7/baz.py (+2/-0) tests/t7/debian/changelog (+5/-0) tests/t7/debian/compat (+1/-0) tests/t7/debian/control (+13/-0) tests/t7/debian/copyright (+2/-0) tests/t7/debian/install (+7/-0) tests/t7/debian/rules (+11/-0) tests/t7/debian/source/format (+1/-0) tests/t7/foo.py (+2/-0) tests/t7/spam.py (+1/-0) |
To merge this branch: | bzr merge lp:~mitya57/ubuntu/raring/python-defaults/resync |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Barry Warsaw (community) | Approve | ||
Ubuntu branches | Pending | ||
Scott Kitterman | Pending | ||
Review via email: mp+131193@code.launchpad.net |
Commit message
Description of the change
python-defaults (2.7.3-3ubuntu1) raring-proposed; urgency=low
* Resynchronize with Debian unstable, remaining Ubuntu changes:
- debian/control.in: Build depend on lsb-release to set correct
Maintainer fields when building on Ubuntu.
- debian/rules: Ignore version check, as our default versions differ
from Debian's.
- debian/control.in, debian/
- debian/rules: Provide Python pkgconfig defaults.
- debian/rules: Re-add the python2 and python2-config symlinks,
formerly present in the python2.7 packages (see PEP 394).
- debian/control.in, debian/rules: Build dependency packages as
architecture dependent packages (for cross-building python
extension packages, see LP: #934593).
* debian/rules: in binary-arch section, use -a argument for dh_* commands.
-- Dmitry Shachnev <email address hidden> Wed, 28 Nov 2012 14:50:19 +0400
The diff against the previous Ubuntu version is below, use `bzr diff -r 56` to see the diff against (a bit outdated) Debian.
Barry Warsaw (barry) wrote : | # |
- 64. By Dmitry Shachnev
-
Fix a typo, thanks Barry!
Dmitry Shachnev (mitya57) wrote : | # |
> s/vesion/version
Fixed, thanks!
- 65. By Dmitry Shachnev
-
Don't build idle twice
Dmitry Shachnev (mitya57) wrote : | # |
Will you review it or should I subscribe "regular" sponsors here?
Scott Kitterman (kitterman) wrote : | # |
I didn't look at the diff yet, but from the changelog entry, I notice "Remove Essential flag from python-minimal." is backwards. It should be adding it for Ubuntu.
Dmitry Shachnev (mitya57) wrote : | # |
Really? The essential flag was removed in Ubuntu (http://
We'll maybe want to add that flag to python3-defaults, though.
Scott Kitterman (kitterman) wrote : | # |
You can't remove essential until it's been verified nothing in the archive assumes it's present. Also, it's not essential in Debian.
Dmitry Shachnev (mitya57) wrote : | # |
Again — that was not me who removed it, it was Colin Watson. I've added it back now.
- 66. By Dmitry Shachnev
-
Re-add Essential flag to python-mimimal as recommended by Scott Kitterman.
- 67. By Dmitry Shachnev
-
Fix the changelog
Colin Watson (cjwatson) wrote : | # |
I removed Essential in 12.10. Please don't put it back. It will impede our ability to ever get rid of Python 2. It would be particularly daft to put it back now that we've managed to get python-minimal down to Priority: optional!
python-minimal was never Essential in Debian; it was only ever Essential in Ubuntu for political reasons, and those reasons no longer make sense now that we're trying to move to Python 3. The way Python policy is laid out means that the odds of anything sensible trying to use python without a dependency on it are very slim. The only remotely plausible things that might be affected were in the base system, and I grepped for that. The only bug I found was bug 1058029, which is in a utility script that I don't consider to be at all important for this purpose.
Colin Watson (cjwatson) wrote : | # |
It is of course wrong to mention the removal of this flag in the changelog in any event, because it is no longer part of the delta with Debian.
- 68. By Dmitry Shachnev
-
Revert r66.
Scott Kitterman (kitterman) wrote : | # |
I talked to Colin and dropping it's fine, but as he said, don't mention it in the changelog.
Barry Warsaw (barry) wrote : | # |
One thing that would be very helpful would be to organize the remaining Ubuntu changes by file, adding these descriptions to the changelog entry. E.g. in d/changelog:
* Resynchronize ...
- debian/control: Build depend on lsb-release
and so on. If you need extra levels, do it like this:
* Resynchronize ...
- debian/control
+ Build depend on lsb-release
+ frobnicate the foobar
This would make it much easier to trace the differences we're keeping. It will also make it easier to reduce those deltas in the future. (I know that previous changes don't have these, and you're just copying them from earlier changelog entries, but I think this is a good habit to get into, so let's start now :).
I also wish there were more rationales in the changelog entries. For example, *why* is "make check_version" status being ignored? Without reasons, these just become long lived onions in the varnish[1].
Other than that, I think this looks okay. I built the package and did some limited testing in a chroot and it looks okay. Please let me know if you want me to sponsor this upload into Ubuntu once you've fixed the few things mentioned above.
- 69. By Dmitry Shachnev
-
Make tests/t6/
{foo,bar} .py executable, to reduce delta with Debian - 70. By Dmitry Shachnev
-
Update debian/changelog as suggested by Barry
Dmitry Shachnev (mitya57) wrote : | # |
Added some comments to the changelog. Please sponsor it if you want to make seb128 happy :)
Barry Warsaw (barry) wrote : | # |
Thanks for making the changes! I'll sponsor it now.
Barry Warsaw (barry) wrote : | # |
Thanks for the awesome contribution!
Barry Warsaw (barry) wrote : | # |
So, the build failed on some arches because rst2man was missing.
https:/
Moving python-docutils and debiandoc-sgml to Build-Depends from Build-Depends-Indep in d/control.in fixes the problem. I'll upload a -3ubuntu2 to fix this.
Scott Kitterman (kitterman) wrote : | # |
On Wednesday, November 28, 2012 10:04:24 PM you wrote:
> So, the build failed on some arches because rst2man was missing.
>
> https:/
>
> Moving python-docutils and debiandoc-sgml to Build-Depends from
> Build-Depends-Indep in d/control.in fixes the problem. I'll upload a
> -3ubuntu2 to fix this.
A better solution would be to only build the arch any parts of the package on
!i386 archs.
Scott K
Preview Diff
1 | === modified file 'Makefile' |
2 | --- Makefile 2011-10-13 22:39:31 +0000 |
3 | +++ Makefile 2012-11-28 12:53:22 +0000 |
4 | @@ -30,13 +30,16 @@ |
5 | %.1: %.rst |
6 | rst2man $< > $@ |
7 | |
8 | +%.html: %.rst |
9 | + rst2html $< > $@ |
10 | + |
11 | manpages: $(MANPAGES) |
12 | |
13 | dist_fallback: |
14 | make -C pydist $@ |
15 | |
16 | check_versions: |
17 | - @set -ex;\ |
18 | + @set -e;\ |
19 | DEFAULT=`sed -rn 's,^DEFAULT = \(([0-9]+)\, ([0-9]+)\),\1.\2,p' debpython/version.py`;\ |
20 | SUPPORTED=`sed -rn 's,^SUPPORTED = \[\(([0-9]+)\, ([0-9]+)\)\, \(([0-9]+)\, ([0-9]+)\)\],\1.\2 \3.\4,p' debpython/version.py`;\ |
21 | DEB_DEFAULT=`sed -rn 's,^default-version = python([0-9.]*),\1,p' debian/debian_defaults`;\ |
22 | |
23 | === modified file 'README.derivatives' |
24 | --- README.derivatives 2010-09-12 18:41:04 +0000 |
25 | +++ README.derivatives 2012-11-28 12:53:22 +0000 |
26 | @@ -6,7 +6,7 @@ |
27 | python-all-dbg's Depends line (add or remove pythonX.Y packages) |
28 | * Open debian/pyversions.py file and edit `_supported_versions` list |
29 | around line 141 |
30 | -* Open debpython/versions.py file and edit `SUPPORTED` list around |
31 | +* Open debpython/version.py file and edit `SUPPORTED` list around |
32 | line 26 |
33 | |
34 | |
35 | @@ -18,7 +18,7 @@ |
36 | (default + 1 version) and `PVER` (default version with "python" prefix) |
37 | * Open debian/pyversions.py file and edit `debian_default` variable around |
38 | line 171 |
39 | -* Open debpython/versions.py file and edit `DEFAULT` variable around line 27 |
40 | +* Open debpython/version.py file and edit `DEFAULT` variable around line 27 |
41 | |
42 | |
43 | How to bump minimum required Python version by dh_python2? |
44 | |
45 | === modified file 'debian/changelog' |
46 | --- debian/changelog 2012-10-10 15:45:02 +0000 |
47 | +++ debian/changelog 2012-11-28 12:53:22 +0000 |
48 | @@ -1,3 +1,84 @@ |
49 | +python-defaults (2.7.3-3ubuntu1) raring-proposed; urgency=low |
50 | + |
51 | + * Resynchronize with Debian unstable, remaining Ubuntu changes: |
52 | + - debian/control.in: Build depend on lsb-release to set correct |
53 | + Maintainer fields when building on Ubuntu. |
54 | + - debian/rules: Ignore version check, as our default versions differ |
55 | + from Debian's. |
56 | + - debian/control.in, debian/debian_defaults: Drop python2.6 support. |
57 | + - debian/rules: Provide Python pkgconfig defaults. |
58 | + - debian/rules: Re-add the python2 and python2-config symlinks, |
59 | + formerly present in the python2.7 packages (see PEP 394). |
60 | + - debian/control.in, debian/rules: Build dependency packages as |
61 | + architecture dependent packages (for cross-building python |
62 | + extension packages, see LP: #934593). |
63 | + * debian/rules: in binary-arch section, use -a argument for dh_* commands. |
64 | + |
65 | + -- Dmitry Shachnev <mitya57@ubuntu.com> Wed, 28 Nov 2012 14:50:19 +0400 |
66 | + |
67 | +python-defaults (2.7.3-3) unstable; urgency=low |
68 | + |
69 | + [ Piotr Ożarowski ] |
70 | + * dh_python2: |
71 | + - no longer sensitive to trailing slash in private dir names |
72 | + (closes: #686358) |
73 | + - ignore /usr/bin/python3 shebangs in all packages, not just in |
74 | + python3-* ones |
75 | + - generates correct "python (<< 2.X)" dependencies for packages with |
76 | + private Python extensions (typo fixed) |
77 | + * pyversions.py: fix parsing DEBPYTHON_SUPPORTED env. variable |
78 | + (versions should be separated using comma, as in debian_defaults |
79 | + config file) |
80 | + |
81 | + [ Dmitry Shachnev ] |
82 | + * debian/python.{pre,post}rm.in: Handle purge command the same way as |
83 | + remove (thanks to Mitsuya Shibata for the bug report) |
84 | + |
85 | + -- Piotr Ożarowski <piotr@debian.org> Sun, 21 Oct 2012 22:40:55 +0200 |
86 | + |
87 | +python-defaults (2.7.3-2) unstable; urgency=low |
88 | + |
89 | + * dh_python2: ignore empty files while trying to normalize shebangs |
90 | + (Closes: #680793) |
91 | + * Fix lack of python-imaging in pydist/dist_fallback |
92 | + - Add python-imaging override to pydist/generate_fallback_list.py |
93 | + - pydist/dist_fallback: Regenerate to add python-imaging (which wasn't |
94 | + recognized before due to .pth file) along with a few automatic |
95 | + adjustments |
96 | + |
97 | + -- Piotr Ożarowski <piotr@debian.org> Thu, 26 Jul 2012 23:03:32 +0200 |
98 | + |
99 | +python-defaults (2.7.3-1) unstable; urgency=low |
100 | + |
101 | + [ Piotr Ożarowski ] |
102 | + * dh_python2: |
103 | + - remove even more \.so.* dangling symlinks, thanks to Stefano |
104 | + Rivera for providing a test case |
105 | + - rewrite shebangs by default (disable via --no-shebang-rewrite), |
106 | + examples: |
107 | + + "/usr/bin/env python*" → "/usr/bin/python*" |
108 | + + "/usr/local/bin/python foo" → "/usr/bin/python foo" |
109 | + + "/usr/bin/python2" → "/usr/bin/python" |
110 | + - new --shebang option to replace all shebangs in bin dirs |
111 | + (example: --shebang /usr/bin/python2.6) |
112 | + - no longer generates python2.X | python2.Y depenendies for public modules |
113 | + (Closes: 625740) |
114 | + - translate Python version numbers into Debian ones for those |
115 | + require.txt items that have a pydist file with (uscan like) rules |
116 | + or PEP386 flag (Closes: #653740) |
117 | + * Improve dh_python2 manpage a bit, add information about cleaning debug |
118 | + packages (Closes: #653741) |
119 | + * pyversions, dh_python2, pycompile: allow to override system's list of |
120 | + supported Python versions via DEBPYTHON_SUPPORTED and default Python |
121 | + version via DEBPYTHON_DEFAULT env. variables |
122 | + * Debhelper's python2 sequence now inserts dh_python2 before dh_installinit |
123 | + (closes: 670418) |
124 | + |
125 | + [ Scott Kitterman ] |
126 | + * Bump upstream version to match current unstable/wheezy python2.7 version |
127 | + |
128 | + -- Piotr Ożarowski <piotr@debian.org> Sat, 30 Jun 2012 20:23:59 +0200 |
129 | + |
130 | python-defaults (2.7.3-0ubuntu7) quantal; urgency=low |
131 | |
132 | * Avoid TypeError in dh_python when maximum version is specified. |
133 | @@ -49,6 +130,49 @@ |
134 | |
135 | -- Matthias Klose <doko@ubuntu.com> Thu, 12 Apr 2012 23:54:23 +0200 |
136 | |
137 | +python-defaults (2.7.3~rc2-1) unstable; urgency=low |
138 | + |
139 | + [ Scott Kitterman ] |
140 | + * Bump minimum debhelper version to 8 so all tests will run |
141 | + - dh_python2 tests 1 - 5 require dh 7 and test 6 needs dh 8 |
142 | + * Move idle.xpm symlink from python to idle and add Breaks/Replaces |
143 | + * Move /usr/bin/pyversions from python to python-minimal since that's where |
144 | + the actual script it's a symlink to lives, add Breaks/Replaces |
145 | + * Bump standards version to 3.9.3 without further change |
146 | + * Correct Python package names with hyphens in them being ignored |
147 | + (Closes: #657665) |
148 | + * Drop -n from /usr/bin/idle invocations in debian/idle.desktop and |
149 | + debian/idle.menu (Closes: #482156) |
150 | + * Update Python policy |
151 | + - Describe addition of /usr/bin/python2 due to upstream changes |
152 | + - Remove redundant text on Python provides and clarify when they should be |
153 | + used |
154 | + - Update description of functionality related to X-Python-Version for |
155 | + Wheezy |
156 | + - Update X/XS-Python-Versions to also include X-Python-Version examples |
157 | + - Add appropriage Breaks/Replaces |
158 | + * Bump upstream version to match current unstable/wheezy python2.7 version |
159 | + |
160 | + [ Piotr Ożarowski ] |
161 | + * dh_python2, pyversions: make comparison of X(S)-Python-Version field names |
162 | + case-insensitive (Closes: #676224) |
163 | + |
164 | + -- Scott Kitterman <scott@kitterman.com> Tue, 05 Jun 2012 22:43:11 -0400 |
165 | + |
166 | +python-defaults (2.7.2-10) unstable; urgency=low |
167 | + |
168 | + [ Matthias Klose ] |
169 | + * dh_python2: For argparse eggs, generate dependencies of the form |
170 | + "python (>= 2.7) | python-argparse". Closes: #653644, #657119. |
171 | + * Regenerate pydist/dist_fallback. |
172 | + |
173 | + [ Piotr Ożarowski ] |
174 | + * pycompile: fix -O option |
175 | + * dh_python2: do not try to add python2.X dependency if private dir works |
176 | + with all Python versions |
177 | + |
178 | + -- Matthias Klose <doko@debian.org> Tue, 24 Jan 2012 11:49:24 +0100 |
179 | + |
180 | python-defaults (2.7.2-9ubuntu6) precise; urgency=low |
181 | |
182 | * Revert to 2.7.2-9ubuntu2 as the arch:all -> arch:any change needs to be |
183 | @@ -1642,4 +1766,3 @@ |
184 | * Update to the proposed python-policy: byte-compile using -E. |
185 | |
186 | -- Matthias Klose <doko@debian.org> Wed, 4 Feb 2004 23:16:35 +0100 |
187 | - |
188 | |
189 | === modified file 'debian/control' |
190 | --- debian/control 2012-05-23 10:50:46 +0000 |
191 | +++ debian/control 2012-11-28 12:53:22 +0000 |
192 | @@ -4,7 +4,8 @@ |
193 | Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> |
194 | XSBC-Original-Maintainer: Matthias Klose <doko@debian.org> |
195 | Uploaders: Scott Kitterman <scott@kitterman.com>, Piotr Ożarowski <piotr@debian.org> |
196 | -Build-Depends: debhelper (>= 6.0.7~), lsb-release, libhtml-tree-perl, debiandoc-sgml, python-docutils (>= 0.4-3) |
197 | +Build-Depends: debhelper (>= 8~) |
198 | +Build-Depends-Indep: lsb-release, libhtml-tree-perl, debiandoc-sgml, python-docutils (>= 0.4-3) |
199 | Standards-Version: 3.9.3 |
200 | Homepage: http://www.python.org/ |
201 | Vcs-Bzr: http://alioth.debian.org/anonscm/bzr/pkg-python/python-defaults-debian |
202 | @@ -12,8 +13,8 @@ |
203 | |
204 | Package: python |
205 | Architecture: any |
206 | -Priority: important |
207 | -Depends: ${misc:Depends}, python2.7 (>= 2.7.3), python-minimal (= ${binary:Version}) |
208 | +Priority: standard |
209 | +Depends: ${misc:Depends}, python2.7 (>= 2.7.3-1~), python-minimal (= ${binary:Version}) |
210 | Suggests: python-doc (= ${binary:Version}), python-tk (= ${binary:Version}) |
211 | Conflicts: python-central (<< 0.5.5) |
212 | Breaks: python-csv (<< 1.0-4), python-bz2 (<< 1.1-8), python-email (<< 2.5.5-3), update-manager-core (<< 0.200.5-2) |
213 | @@ -29,12 +30,12 @@ |
214 | |
215 | Package: python-minimal |
216 | Architecture: any |
217 | -Priority: required |
218 | -Depends: ${misc:Depends}, python2.7-minimal (>= 2.7.3), dpkg (>= 1.13.20) |
219 | +Priority: standard |
220 | +Depends: ${misc:Depends}, python2.7-minimal (>= 2.7.3-1~), dpkg (>= 1.13.20) |
221 | Recommends: python |
222 | Conflicts: python-central (<< 0.5.5) |
223 | -Breaks: python (<= 2.4-1), python-dev (<< 2.6), python-dbg (<< 2.6), python-all (<< 2.6), python-all-dev (<< 2.6), python-all-dbg (<< 2.6), python-examples (<< 2.6), idle (<< 2.6), python2.5-minimal (<< 2.5.5-7), python2.6-minimal (<< 2.6.5~rc2-2), python3.1-minimal (<< 3.1.2~rc1-2), python-support (<< 1.0.10ubuntu2) |
224 | -Replaces: python (<= 2.4-1), python2.7 (<< 2.7.3) |
225 | +Breaks: python (<= 2.7.3-1~), python-dev (<< 2.6), python-dbg (<< 2.6), python-all (<< 2.6), python-all-dev (<< 2.6), python-all-dbg (<< 2.6), python-examples (<< 2.6), idle (<< 2.6), python2.5-minimal (<< 2.5.5-7), python2.6-minimal (<< 2.6.5~rc2-2), python3.1-minimal (<< 3.1.2~rc1-2), python-support (<< 1.0.10ubuntu2) |
226 | +Replaces: python (<= 2.7.3-1~) |
227 | Description: minimal subset of the Python language (default version) |
228 | This package contains the interpreter and some essential modules. It's used |
229 | in the boot process for some basic tasks. |
230 | @@ -43,7 +44,7 @@ |
231 | |
232 | Package: python-examples |
233 | Architecture: all |
234 | -Depends: ${misc:Depends}, python (>= ${binary:Version}), python2.7-examples (>= 2.7.3) |
235 | +Depends: ${misc:Depends}, python (= ${binary:Version}), python2.7-examples (>= 2.7.3-1~) |
236 | Description: examples for the Python language (default version) |
237 | Examples, Demos and Tools for Python. These are files included in |
238 | the upstream Python distribution. |
239 | @@ -53,7 +54,7 @@ |
240 | |
241 | Package: python-dev |
242 | Architecture: any |
243 | -Depends: ${misc:Depends}, python (= ${binary:Version}), python2.7-dev (>= 2.7.3) |
244 | +Depends: ${misc:Depends}, python (= ${binary:Version}), python2.7-dev (>= 2.7.3-1~) |
245 | Replaces: python2.7 (<< 2.7.3) |
246 | Description: header files and a static library for Python (default) |
247 | Header files, a static library and development tools for building |
248 | @@ -65,9 +66,10 @@ |
249 | |
250 | Package: idle |
251 | Architecture: all |
252 | -Depends: ${misc:Depends}, python (>= ${binary:Version}), python-tk (>= 2.4.3-3), idle-python2.7 |
253 | -Replaces: python (<< 2.7.3-0ubuntu2) |
254 | +Depends: ${misc:Depends}, python (= ${binary:Version}), python-tk (>= 2.4.3-3), idle-python2.7 |
255 | Enhances: python |
256 | +Replaces: python (<< 2.7.3-1~) |
257 | +Breaks: python (<< 2.7.3-1~) |
258 | Description: IDE for Python using Tkinter (default version) |
259 | IDLE is an Integrated Development Environment for Python. |
260 | IDLE is written using Tkinter and therefore quite platform-independent. |
261 | @@ -78,7 +80,7 @@ |
262 | Package: python-doc |
263 | Section: doc |
264 | Architecture: all |
265 | -Depends: ${misc:Depends}, python2.7-doc (>= 2.7.3) |
266 | +Depends: ${misc:Depends}, python2.7-doc (>= 2.7.3-1~) |
267 | Suggests: python-examples, python (= ${binary:Version}) |
268 | Breaks: python (<< 2.3.5) |
269 | Replaces: python (<< 2.3.5) |
270 | @@ -104,7 +106,7 @@ |
271 | Architecture: any |
272 | Section: debug |
273 | Priority: extra |
274 | -Depends: ${misc:Depends}, python (= ${binary:Version}), python2.7-dbg (>= 2.7.3) |
275 | +Depends: ${misc:Depends}, python (= ${binary:Version}), python2.7-dbg (>= 2.7.3-1~) |
276 | Provides: python-gdbm-dbg, python-tk-dbg |
277 | Description: debug build of the Python Interpreter (version 2.7) |
278 | Python interpreter configured with --pydebug. Dynamically loaded modules are |
279 | |
280 | === modified file 'debian/control.in' |
281 | --- debian/control.in 2012-05-23 10:50:46 +0000 |
282 | +++ debian/control.in 2012-11-28 12:53:22 +0000 |
283 | @@ -3,7 +3,8 @@ |
284 | Priority: optional |
285 | Maintainer: Matthias Klose <doko@debian.org> |
286 | Uploaders: Scott Kitterman <scott@kitterman.com>, Piotr Ożarowski <piotr@debian.org> |
287 | -Build-Depends: debhelper (>= 6.0.7~), lsb-release, libhtml-tree-perl, debiandoc-sgml, python-docutils (>= 0.4-3) |
288 | +Build-Depends: debhelper (>= 8~) |
289 | +Build-Depends-Indep: lsb-release, libhtml-tree-perl, debiandoc-sgml, python-docutils (>= 0.4-3) |
290 | Standards-Version: 3.9.3 |
291 | Homepage: http://www.python.org/ |
292 | Vcs-Bzr: http://alioth.debian.org/anonscm/bzr/pkg-python/python-defaults-debian |
293 | @@ -11,7 +12,7 @@ |
294 | |
295 | Package: python |
296 | Architecture: any |
297 | -Priority: important |
298 | +Priority: standard |
299 | Depends: ${misc:Depends}, @PVER@ (>= @PREVVER@), python-minimal (= ${binary:Version}) |
300 | Suggests: python-doc (= ${binary:Version}), python-tk (= ${binary:Version}) |
301 | Conflicts: python-central (<< 0.5.5) |
302 | @@ -28,12 +29,12 @@ |
303 | |
304 | Package: python-minimal |
305 | Architecture: any |
306 | -Priority: required |
307 | +Priority: standard |
308 | Depends: ${misc:Depends}, @PVER@-minimal (>= @PREVVER@), dpkg (>= 1.13.20) |
309 | Recommends: python |
310 | Conflicts: python-central (<< 0.5.5) |
311 | -Breaks: python (<= 2.4-1), python-dev (<< 2.6), python-dbg (<< 2.6), python-all (<< 2.6), python-all-dev (<< 2.6), python-all-dbg (<< 2.6), python-examples (<< 2.6), idle (<< 2.6), python2.5-minimal (<< 2.5.5-7), python2.6-minimal (<< 2.6.5~rc2-2), python3.1-minimal (<< 3.1.2~rc1-2), python-support (<< 1.0.10ubuntu2) |
312 | -Replaces: python (<= 2.4-1), python2.7 (<< 2.7.3) |
313 | +Breaks: python (<= 2.7.3-1~), python-dev (<< 2.6), python-dbg (<< 2.6), python-all (<< 2.6), python-all-dev (<< 2.6), python-all-dbg (<< 2.6), python-examples (<< 2.6), idle (<< 2.6), python2.5-minimal (<< 2.5.5-7), python2.6-minimal (<< 2.6.5~rc2-2), python3.1-minimal (<< 3.1.2~rc1-2), python-support (<< 1.0.10ubuntu2) |
314 | +Replaces: python (<= 2.7.3-1~) |
315 | Description: minimal subset of the Python language (default version) |
316 | This package contains the interpreter and some essential modules. It's used |
317 | in the boot process for some basic tasks. |
318 | @@ -42,7 +43,7 @@ |
319 | |
320 | Package: python-examples |
321 | Architecture: all |
322 | -Depends: ${misc:Depends}, python (>= ${binary:Version}), @PVER@-examples (>= @PREVVER@) |
323 | +Depends: ${misc:Depends}, python (= ${binary:Version}), @PVER@-examples (>= @PREVVER@) |
324 | Description: examples for the Python language (default version) |
325 | Examples, Demos and Tools for Python. These are files included in |
326 | the upstream Python distribution. |
327 | @@ -64,9 +65,10 @@ |
328 | |
329 | Package: idle |
330 | Architecture: all |
331 | -Depends: ${misc:Depends}, python (>= ${binary:Version}), python-tk (>= 2.4.3-3), idle-@PVER@ |
332 | -Replaces: python (<< 2.7.3-0ubuntu2) |
333 | +Depends: ${misc:Depends}, python (= ${binary:Version}), python-tk (>= 2.4.3-3), idle-@PVER@ |
334 | Enhances: python |
335 | +Replaces: python (<< 2.7.3-1~) |
336 | +Breaks: python (<< 2.7.3-1~) |
337 | Description: IDE for Python using Tkinter (default version) |
338 | IDLE is an Integrated Development Environment for Python. |
339 | IDLE is written using Tkinter and therefore quite platform-independent. |
340 | |
341 | === modified file 'debian/idle.desktop' |
342 | --- debian/idle.desktop 2010-06-26 15:38:28 +0000 |
343 | +++ debian/idle.desktop 2012-11-28 12:53:22 +0000 |
344 | @@ -1,7 +1,7 @@ |
345 | [Desktop Entry] |
346 | Name=IDLE |
347 | Comment=Integrated Development Environment for Python |
348 | -Exec=/usr/bin/idle -n |
349 | +Exec=/usr/bin/idle |
350 | Icon=/usr/share/pixmaps/idle.xpm |
351 | Terminal=false |
352 | MultipleArgs=false |
353 | |
354 | === modified file 'debian/idle.menu' |
355 | --- debian/idle.menu 2009-12-14 06:03:32 +0000 |
356 | +++ debian/idle.menu 2012-11-28 12:53:22 +0000 |
357 | @@ -1,5 +1,5 @@ |
358 | ?package(idle):needs="X11" section="Applications/Programming"\ |
359 | title="IDLE (Python IDE)"\ |
360 | icon="/usr/share/pixmaps/idle.xpm"\ |
361 | - command="/usr/bin/idle -n" \ |
362 | + command="/usr/bin/idle" \ |
363 | hints="Environments" |
364 | |
365 | === modified file 'debian/python-policy.sgml' |
366 | --- debian/python-policy.sgml 2011-10-06 00:22:16 +0000 |
367 | +++ debian/python-policy.sgml 2012-11-28 12:53:22 +0000 |
368 | @@ -32,7 +32,7 @@ |
369 | <name>Scott Kitterman</name> |
370 | <email>scott@kitterman.com</email> |
371 | </author> |
372 | - <version>version 0.9.4.1</version> |
373 | + <version>version 0.9.4.2</version> |
374 | |
375 | <abstract> |
376 | This document describes the packaging of Python within the |
377 | @@ -42,8 +42,8 @@ |
378 | |
379 | <copyright> |
380 | <copyrightsummary> |
381 | - Copyright © 1999, 2001, 2003, 2006, 2009, 2010, 2011 Software in the |
382 | - Public Interest |
383 | + Copyright © 1999, 2001, 2003, 2006, 2009, 2010, 2011, 2012 |
384 | + Software in the Public Interest |
385 | </copyrightsummary> |
386 | <p> |
387 | This manual is free software; you can redistribute it and/or |
388 | @@ -106,8 +106,8 @@ |
389 | are needed by other packages, or as long as it seems |
390 | reasonable to provide them. (Note: For the scope of this |
391 | document, Python versions are synonymous to feature |
392 | - releases, i.e. Python 2.5 and 2.5.1 are sub-minor versions of |
393 | - the same Python version 2.5, but Python 2.4 and 2.5 are |
394 | + releases, i.e. Python 2.7 and 2.7.1 are sub-minor versions of |
395 | + the same Python version 2.7, but Python 2.6 and 2.7 are |
396 | indeed different versions.) |
397 | </p> |
398 | <p> |
399 | @@ -184,11 +184,11 @@ |
400 | than <var>X</var>.<var>Y+1</var>. |
401 | </p> |
402 | <p> |
403 | - There is no symlink for <file>/usr/bin/python2</file>. This is |
404 | - consistent with current upstream practice. This is being discussed |
405 | - in <url id="http://www.python.org/dev/peps/pep-0394/" |
406 | - name="PEP-0394">. If this PEP is approved, then the policy for |
407 | - Debian should be reconsidered. |
408 | + Because upstream has started providing it, there will be a symlink |
409 | + for <file>/usr/bin/python2</file> for Wheezy and later releases. See |
410 | + <url id="http://www.python.org/dev/peps/pep-0394/" name="PEP-0394"> |
411 | + for details. Packages must be careful to depend on a sufficient |
412 | + version of <package>python</package> if they make use of this symlink. |
413 | </p> |
414 | </sect> |
415 | |
416 | @@ -330,7 +330,7 @@ |
417 | <item> |
418 | <p> |
419 | /usr/share/python/runtime.d/*.rtremove: these are called when |
420 | - a runtime is installed or stops being supported. The first |
421 | + a runtime is removed or stops being supported. The first |
422 | argument is "rtremove", and the second argument is the |
423 | affected runtime (for example |
424 | python<var>X</var>.<var>Y</var>). |
425 | @@ -432,14 +432,14 @@ |
426 | |
427 | Such a package should support the current Debian Python version, |
428 | and more if possible (there are several tools to help implement |
429 | - this, see <ref id="packaging_tools">). For example, if Python 2.3, |
430 | - 2.4, and 2.5 are supported, the Python statement |
431 | + this, see <ref id="packaging_tools">). For example, if Python 2.5, |
432 | + 2.6, and 2.7 are supported, the Python statement |
433 | <example> |
434 | import foo |
435 | </example> |
436 | should import the module when the user is running any |
437 | - of <prgn>/usr/bin/python2.3</prgn>, <prgn>/usr/bin/python2.4</prgn>, |
438 | - and <prgn>/usr/bin/python2.5</prgn>. This requirement also |
439 | + of <prgn>/usr/bin/python2.5</prgn>, <prgn>/usr/bin/python2.6</prgn>, |
440 | + and <prgn>/usr/bin/python2.7</prgn>. This requirement also |
441 | applies to extension modules; binaries for all the supported |
442 | Python versions should be included in a single package. |
443 | </p> |
444 | @@ -460,8 +460,8 @@ |
445 | appropriate Depends and Provides lines. The format of the |
446 | field may be one of the following: |
447 | <example> |
448 | -XS-Python-Version: >= X.Y |
449 | -XS-Python-Version: >= A.B, << X.Y |
450 | +X-Python-Version: >= X.Y |
451 | +X-Python-Version: >= A.B, << X.Y |
452 | XS-Python-Version: A.B, X.Y |
453 | XS-Python-Version: all |
454 | </example> |
455 | @@ -471,9 +471,9 @@ |
456 | information. The keyword "all" is limited to Python versions and |
457 | must be ignored for Python 3 versions. Lists of multiple individual |
458 | versions (e.g. 2.4, 2.5, 2.6) work for <tt>XS-Python-Version</tt> and |
459 | - will continue to be supported, but are not recommended and will not |
460 | - be supported by <tt>X-Python-Version</tt> or <tt>X-Python3-Version</tt> |
461 | - after the Squeeze release. |
462 | + will continue to be supported, but are not recommended and are not |
463 | + supported by <tt>X-Python-Version</tt> or <tt>X-Python3-Version</tt> |
464 | + for Wheezy and later releases. |
465 | |
466 | The keyword "current" has been deprecated and used to mean that |
467 | the package would only have to support a single version (even |
468 | @@ -488,12 +488,6 @@ |
469 | transitions. This can be adequately accomplished by examining |
470 | package dependencies. |
471 | </p> |
472 | - <p> |
473 | - If your package is used by another module or application |
474 | - that requires a specific Python version, it should also |
475 | - <tt>Provide: python<var>X</var>.<var>Y</var>-foo</tt> for |
476 | - each version it supports. |
477 | - </p> |
478 | </sect> |
479 | |
480 | <sect id="dependencies"> |
481 | @@ -522,11 +516,11 @@ |
482 | <heading>Provides</heading> |
483 | <p> |
484 | Provides in binary packages of the form |
485 | - <package>python-<var>foo</var></package> must be specified, |
486 | - if the package contains an extension for more than one |
487 | - python version. Provides should also be added on request of |
488 | - maintainers who depend on a non-default python version. Provides |
489 | - are only for extensions, not modules. |
490 | + <package>python-<var>X</var>.<var>Y</var><var>>foo</var></package> |
491 | + must be specified if the package contains an extension for more |
492 | + than one python version and other package with version specific |
493 | + dependencies on the package require it. Provides are only for |
494 | + extensions, not modules. |
495 | </p> |
496 | </sect> |
497 | |
498 | @@ -606,7 +600,7 @@ |
499 | Programs that have private compiled extensions must either |
500 | handle multiple version support themselves, or declare a |
501 | tight dependency on the current Python version |
502 | - (e.g. <tt>Depends: python (>= 2.4), python (<= 2.5)</tt>. No |
503 | + (e.g. <tt>Depends: python (>= 2.6), python (<< 2.7)</tt>. No |
504 | tools currently exist to alleviate this situation. |
505 | </p> |
506 | </sect1> |
507 | @@ -627,7 +621,7 @@ |
508 | requires a specific version of the package (since virtual |
509 | packages cannot be versioned). If this is the case, it |
510 | should depend on both the virtual package and the main |
511 | - package (e.g. <tt>Depends: python2.4-foo, python-foo (>= |
512 | + package (e.g. <tt>Depends: python2.7-foo, python-foo (>= |
513 | 1.0)</tt>). |
514 | </p> |
515 | <p> |
516 | @@ -704,16 +698,16 @@ |
517 | <p> |
518 | Build-Depend on at least: |
519 | <example> |
520 | -Build-Depends: python2.3 (>= 2.3-1) |
521 | -Build-Depends: python2.4 (>= 2.4-1) |
522 | -Build-Depends: python (>= 2.3.5-7) |
523 | +Build-Depends: python2.7 |
524 | +Build-Depends: python2.6 (>= 2.6-1) |
525 | +Build-Depends: python (>= 2.6.6-9) |
526 | Build-Depends: python-all |
527 | |
528 | -Build-Depends: python2.3-dev (>= 2.3-1) |
529 | -Build-Depends: python2.4-dev (>= 2.4-1) |
530 | -Build-Depends: python-dev (>= 2.3.5-7) |
531 | +Build-Depends: python2.7-dev |
532 | +Build-Depends: python2.6-dev (>= 2.6-1) |
533 | +Build-Depends: python-dev (>= 2.6.6-9) |
534 | Build-Depends: python-all-dev |
535 | -Build-Depends: python3-all-dev (>= 3.1) |
536 | +Build-Depends: python3-all-dev (>= 3.2) |
537 | </example> |
538 | </p> |
539 | <p> |
540 | |
541 | === modified file 'debian/python.postinst.in' |
542 | --- debian/python.postinst.in 2011-10-06 00:22:16 +0000 |
543 | +++ debian/python.postinst.in 2012-11-28 12:53:22 +0000 |
544 | @@ -40,7 +40,7 @@ |
545 | fi |
546 | |
547 | # run the rtinstall script, when 2.7 became a supported version |
548 | - if [ -x /usr/bin/python2.7 ] && [ -n "$2" ] && dpkg --compare-versions $2 lt 2.6.6-4; then |
549 | + if [ -x /usr/bin/python2.7 ] && [ -n "$2" ] && dpkg --compare-versions $2 lt 2.6.6-13; then |
550 | if [ "$DEBIAN_FRONTEND" != noninteractive ]; then |
551 | echo "Linking and byte-compiling packages for runtime python2.7..." |
552 | fi |
553 | @@ -51,7 +51,7 @@ |
554 | done |
555 | fi |
556 | |
557 | - if [ -n "$2" ] && dpkg --compare-versions $2 lt 2.7.1-0ubuntu1~; then |
558 | + if [ -n "$2" ] && dpkg --compare-versions $2 lt 2.7.2-7~; then |
559 | oldv=$(echo $2 | sed 's/^\(...\).*/\1/') |
560 | if [ "$DEBIAN_FRONTEND" != noninteractive ]; then |
561 | echo "running python rtupdate hooks for @PVER@..." |
562 | |
563 | === modified file 'debian/python.postrm.in' |
564 | --- debian/python.postrm.in 2010-07-11 17:08:19 +0000 |
565 | +++ debian/python.postrm.in 2012-11-28 12:53:22 +0000 |
566 | @@ -1,8 +1,7 @@ |
567 | #! /bin/sh |
568 | set -e |
569 | |
570 | -case "$1" in |
571 | - purge) |
572 | +case "$1" in remove|purge) |
573 | rm -rf /etc/python |
574 | esac |
575 | |
576 | |
577 | === modified file 'debian/python.preinst.in' |
578 | --- debian/python.preinst.in 2011-06-04 20:23:29 +0000 |
579 | +++ debian/python.preinst.in 2012-11-28 12:53:22 +0000 |
580 | @@ -12,7 +12,7 @@ |
581 | |
582 | case "$1" in |
583 | upgrade) |
584 | - if dpkg --compare-versions $2 lt 2.6.1-0ubuntu1; then |
585 | + if dpkg --compare-versions $2 lt 2.6.1-1~; then |
586 | oldv=$(echo $2 | sed 's/^\(...\).*/\1/') |
587 | if [ "$DEBIAN_FRONTEND" != noninteractive ]; then |
588 | echo "running python pre-rtupdate hooks for @PVER@..." |
589 | @@ -47,9 +47,9 @@ |
590 | echo "$version" > /var/lib/python/python2.6_already_installed |
591 | fi |
592 | |
593 | - # 2.6.6-4 is the first version, which adds python2.7 as supported |
594 | + # 2.6.6-13 is now the first version, which adds python2.7 as supported |
595 | # version; need to run an rtinstall python2.7 in the postinst. |
596 | - if dpkg --compare-versions $2 lt 2.6.6-4 && [ -x /usr/bin/python2.7 ]; then |
597 | + if dpkg --compare-versions $2 lt 2.6.6-13 && [ -x /usr/bin/python2.7 ]; then |
598 | version=$(dpkg -s python2.7-minimal | awk '/^Version:/ {print $2}') |
599 | mkdir -p /var/lib/python |
600 | echo "$version" > /var/lib/python/python2.7_already_installed |
601 | |
602 | === modified file 'debian/python.prerm.in' |
603 | --- debian/python.prerm.in 2012-09-22 05:15:14 +0000 |
604 | +++ debian/python.prerm.in 2012-11-28 12:53:22 +0000 |
605 | @@ -1,8 +1,7 @@ |
606 | #! /bin/sh |
607 | set -e |
608 | |
609 | -case "$1" in |
610 | - remove|purge) |
611 | +case "$1" in remove|purge) |
612 | rm -f /usr/share/python/pyversions.py[co] |
613 | esac |
614 | |
615 | |
616 | === modified file 'debian/pyversions.py' |
617 | --- debian/pyversions.py 2011-10-06 00:22:16 +0000 |
618 | +++ debian/pyversions.py 2012-11-28 12:53:22 +0000 |
619 | @@ -110,7 +110,9 @@ |
620 | else: |
621 | return _unsupported_versions |
622 | |
623 | -_supported_versions = None |
624 | +_supported_versions = ["python%s" % ver.strip() for ver in |
625 | + os.environ.get('DEBPYTHON_SUPPORTED', '').split(',') |
626 | + if ver.strip()] |
627 | def supported_versions(version_only=False): |
628 | global _supported_versions |
629 | if not _supported_versions: |
630 | @@ -144,7 +146,9 @@ |
631 | else: |
632 | return _supported_versions |
633 | |
634 | -_default_version = None |
635 | +_default_version = "python%s" % os.environ.get('DEBPYTHON_DEFAULT', '') |
636 | +if _default_version == 'python': |
637 | + _default_version = None |
638 | def default_version(version_only=False): |
639 | global _default_version |
640 | if not _default_version: |
641 | @@ -261,12 +265,12 @@ |
642 | section = 'Source' |
643 | elif line.startswith('Package: ' + pkg): |
644 | section = pkg |
645 | - elif line.startswith('XS-Python-Version:') or line.startswith('X-Python-Version:'): |
646 | + elif line.lower().startswith(('xs-python-version:', 'x-python-version:')): |
647 | if section != 'Source': |
648 | raise ValueError, \ |
649 | 'attribute X(S)-Python-Version not in Source section' |
650 | sversion = line.split(':', 1)[1].strip() |
651 | - elif line.startswith('XB-Python-Version:'): |
652 | + elif line.lower().startswith('xb-python-version:'): |
653 | if section == pkg: |
654 | version = line.split(':', 1)[1].strip() |
655 | if section == None: |
656 | |
657 | === modified file 'debian/rules' |
658 | --- debian/rules 2012-04-17 15:54:22 +0000 |
659 | +++ debian/rules 2012-11-28 12:53:22 +0000 |
660 | @@ -20,7 +20,7 @@ |
661 | export PVER=python2.7 |
662 | |
663 | PREVVER := $(shell awk '/^python/ && NR > 1 {print substr($$2,2,length($$2)-2); exit}' debian/changelog) |
664 | -PREVVER := 2.7.3 |
665 | +PREVVER := 2.7.3-1~ |
666 | |
667 | PWD := $(shell pwd) |
668 | |
669 | @@ -229,7 +229,7 @@ |
670 | debian/python-minimal/usr/share/python/ |
671 | install -m 644 debian/pyversions.1 \ |
672 | debian/python-minimal/usr/share/man/man1/ |
673 | - dh_link -ppython /usr/share/python/pyversions.py /usr/bin/pyversions |
674 | + dh_link -ppython-minimal /usr/share/python/pyversions.py /usr/bin/pyversions |
675 | |
676 | # install -m 755 debian/pycompile \ |
677 | # debian/python-minimal/usr/bin/ |
678 | |
679 | === modified file 'debpython/debhelper.py' |
680 | --- debpython/debhelper.py 2011-10-06 00:22:16 +0000 |
681 | +++ debpython/debhelper.py 2012-11-28 12:53:22 +0000 |
682 | @@ -1,5 +1,5 @@ |
683 | # -*- coding: UTF-8 -*- |
684 | -# Copyright © 2010 Piotr Ożarowski <piotr@debian.org> |
685 | +# Copyright © 2010-2012 Piotr Ożarowski <piotr@debian.org> |
686 | # |
687 | # Permission is hereby granted, free of charge, to any person obtaining a copy |
688 | # of this software and associated documentation files (the "Software"), to deal |
689 | @@ -79,11 +79,11 @@ |
690 | elif line.startswith('Source:'): |
691 | self.source_name = line[7:].strip() |
692 | elif source_section: |
693 | - if line.startswith('XS-Python-Version:'): |
694 | + if line.lower().startswith('xs-python-version:'): |
695 | xspv = True |
696 | if not self.python_version: |
697 | self.python_version = line[18:].strip() |
698 | - if line.startswith('X-Python-Version:'): |
699 | + if line.lower().startswith('x-python-version:'): |
700 | xpv = True |
701 | self.python_version = line[17:].strip() |
702 | |
703 | |
704 | === modified file 'debpython/depends.py' |
705 | --- debpython/depends.py 2012-10-10 15:45:02 +0000 |
706 | +++ debpython/depends.py 2012-11-28 12:53:22 +0000 |
707 | @@ -1,5 +1,5 @@ |
708 | # -*- coding: UTF-8 -*- |
709 | -# Copyright © 2010 Piotr Ożarowski <piotr@debian.org> |
710 | +# Copyright © 2010-2012 Piotr Ożarowski <piotr@debian.org> |
711 | # |
712 | # Permission is hereby granted, free of charge, to any person obtaining a copy |
713 | # of this software and associated documentation files (the "Software"), to deal |
714 | @@ -94,11 +94,13 @@ |
715 | tpl = 'python-dbg' if dbgpkg else 'python' |
716 | minv = pub_vers[0] |
717 | maxv = pub_vers[-1] |
718 | - if dbgpkg: |
719 | - tpl2 = 'python%d.%d-dbg' |
720 | - else: |
721 | - tpl2 = 'python%d.%d' |
722 | - self.depend(' | '.join(tpl2 % i for i in debsorted(pub_vers))) |
723 | + # generating "python2.X | python2.Y | python2.Z" dependencies |
724 | + # disabled (see #625740): |
725 | + #if dbgpkg: |
726 | + # tpl2 = 'python%d.%d-dbg' |
727 | + #else: |
728 | + # tpl2 = 'python%d.%d' |
729 | + #self.depend(' | '.join(tpl2 % i for i in debsorted(pub_vers))) |
730 | |
731 | # additional Depends to block python package transitions |
732 | if minv <= DEFAULT: |
733 | @@ -112,21 +114,17 @@ |
734 | if stats['compile']: |
735 | self.depend(MINPYCDEP) |
736 | |
737 | - if not options.ignore_shebangs: |
738 | - for interpreter, version in stats['shebangs']: |
739 | - self.depend(interpreter) |
740 | + for interpreter, version in stats['shebangs']: |
741 | + self.depend(interpreter) |
742 | |
743 | for private_dir, details in stats['private_dirs'].iteritems(): |
744 | - if options.ignore_shebangs: |
745 | - versions = [] |
746 | - else: |
747 | - versions = list(v for i, v in details.get('shebangs', []) if v) |
748 | + versions = list(v for i, v in details.get('shebangs', []) if v) |
749 | |
750 | for v in versions: |
751 | if v in SUPPORTED: |
752 | self.depend("python%d.%d" % v) |
753 | else: |
754 | - log.warn('dependency on python%s (from shebang) ignored' |
755 | + log.info('dependency on python%s (from shebang) ignored' |
756 | ' - it\'s not supported anymore', vrepr(v)) |
757 | # /usr/bin/python shebang → add python to Depends |
758 | if any(True for i, v in details.get('shebangs', []) if v is None): |
759 | @@ -143,7 +141,9 @@ |
760 | # are scripts for different Python versions: compile with |
761 | # default Python version (or the one requested via X-P-V) |
762 | args += "-V %s" % vrange_str(vr) |
763 | - if vr[0] == vr[1]: |
764 | + if vr == (None, None): |
765 | + pass |
766 | + elif vr[0] == vr[1]: |
767 | self.depend("python%s" % vrepr(vr[0])) |
768 | else: |
769 | if vr[0]: # minimum version specified |
770 | |
771 | === modified file 'debpython/files.py' |
772 | --- debpython/files.py 2011-04-15 00:04:07 +0000 |
773 | +++ debpython/files.py 2012-11-28 12:53:22 +0000 |
774 | @@ -1,5 +1,5 @@ |
775 | # -*- coding: UTF-8 -*- |
776 | -# Copyright © 2010 Piotr Ożarowski <piotr@debian.org> |
777 | +# Copyright © 2010-2012 Piotr Ożarowski <piotr@debian.org> |
778 | # |
779 | # Permission is hereby granted, free of charge, to any person obtaining a copy |
780 | # of this software and associated documentation files (the "Software"), to deal |
781 | |
782 | === modified file 'debpython/namespace.py' |
783 | --- debpython/namespace.py 2011-10-06 00:22:16 +0000 |
784 | +++ debpython/namespace.py 2012-11-28 12:53:22 +0000 |
785 | @@ -1,5 +1,5 @@ |
786 | # -*- coding: UTF-8 -*- |
787 | -# Copyright © 2011 Piotr Ożarowski <piotr@debian.org> |
788 | +# Copyright © 2011-2012 Piotr Ożarowski <piotr@debian.org> |
789 | # |
790 | # Permission is hereby granted, free of charge, to any person obtaining a copy |
791 | # of this software and associated documentation files (the "Software"), to deal |
792 | |
793 | === modified file 'debpython/option.py' |
794 | --- debpython/option.py 2011-10-06 00:22:16 +0000 |
795 | +++ debpython/option.py 2012-11-28 12:53:22 +0000 |
796 | @@ -1,5 +1,5 @@ |
797 | # -*- coding: UTF-8 -*- |
798 | -# Copyright © 2010 Piotr Ożarowski <piotr@debian.org> |
799 | +# Copyright © 2010-2012 Piotr Ożarowski <piotr@debian.org> |
800 | # |
801 | # Permission is hereby granted, free of charge, to any person obtaining a copy |
802 | # of this software and associated documentation files (the "Software"), to deal |
803 | |
804 | === modified file 'debpython/pydist.py' |
805 | --- debpython/pydist.py 2011-10-06 00:22:16 +0000 |
806 | +++ debpython/pydist.py 2012-11-28 12:53:22 +0000 |
807 | @@ -1,5 +1,5 @@ |
808 | # -*- coding: UTF-8 -*- |
809 | -# Copyright © 2010 Piotr Ożarowski <piotr@debian.org> |
810 | +# Copyright © 2010-2012 Piotr Ożarowski <piotr@debian.org> |
811 | # |
812 | # Permission is hereby granted, free of charge, to any person obtaining a copy |
813 | # of this software and associated documentation files (the "Software"), to deal |
814 | @@ -24,6 +24,7 @@ |
815 | import os |
816 | import re |
817 | from os.path import exists, isdir, join |
818 | +from string import maketrans |
819 | from subprocess import PIPE, Popen |
820 | from debpython.version import vrepr, getver, get_requested_versions |
821 | from debpython.tools import memoize |
822 | @@ -32,7 +33,7 @@ |
823 | |
824 | PUBLIC_DIR_RE = re.compile(r'.*?/usr/lib/python(\d.\d+)/(site|dist)-packages') |
825 | PYDIST_RE = re.compile(r""" |
826 | - (?P<name>[A-Za-z][A-Za-z0-9_.]*) # Python distribution name |
827 | + (?P<name>[A-Za-z][A-Za-z0-9_.\-]*) # Python distribution name |
828 | \s* |
829 | (?P<vrange>(?:-?\d\.\d+(?:-(?:\d\.\d+)?)?)?) # version range |
830 | \s* |
831 | @@ -41,7 +42,7 @@ |
832 | ;\s* |
833 | (?P<standard>PEP386)? # PEP-386 mode |
834 | \s* |
835 | - (?P<rules>s/.*)? # translator rules |
836 | + (?P<rules>(?:s|tr|y).*)? # translator rules |
837 | )? |
838 | """, re.VERBOSE) |
839 | REQUIRES_RE = re.compile(r''' |
840 | @@ -117,13 +118,13 @@ |
841 | req = safe_name(name) + rest |
842 | |
843 | data = load() |
844 | - req_dict = REQUIRES_RE.match(req) |
845 | - if not req_dict: |
846 | + req_d = REQUIRES_RE.match(req) |
847 | + if not req_d: |
848 | log.info('please ask dh_python2 author to fix REQUIRES_RE ' |
849 | 'or your upstream author to fix requires.txt') |
850 | raise Exception('requirement is not valid: %s' % req) |
851 | - req_dict = req_dict.groupdict() |
852 | - name = req_dict['name'] |
853 | + req_d = req_d.groupdict() |
854 | + name = req_d['name'] |
855 | details = data.get(name.lower()) |
856 | if details: |
857 | for item in details: |
858 | @@ -134,12 +135,13 @@ |
859 | if not item['dependency']: |
860 | return # this requirement should be ignored |
861 | if item['dependency'].endswith(')'): |
862 | - # no need to translate versions if version is hardcoded in Debian |
863 | - # dependency |
864 | - return item['dependency'] |
865 | - if req_dict['version']: |
866 | - # FIXME: translate it (rules, versions) |
867 | - return item['dependency'] |
868 | + # no need to translate versions if version is hardcoded in |
869 | + # Debian dependency |
870 | + return item['dependency'] |
871 | + if req_d['version'] and (item['standard'] or item['rules']) and\ |
872 | + req_d['operator'] not in (None, '=='): |
873 | + v = _translate(req_d['version'], item['rules'], item['standard']) |
874 | + return "%s (%s %s)" % (item['dependency'], req_d['operator'], v) |
875 | else: |
876 | return item['dependency'] |
877 | |
878 | @@ -231,3 +233,53 @@ |
879 | def ci_regexp(name): |
880 | """Return case insensitive dpkg -S regexp.""" |
881 | return ''.join("[%s%s]" % (i.upper(), i) if i.isalpha() else i for i in name.lower()) |
882 | + |
883 | + |
884 | +PRE_VER_RE = re.compile(r'[-.]?(alpha|beta|rc|dev|a|b|c)') |
885 | +GROUP_RE = re.compile(r'\$(\d+)') |
886 | + |
887 | + |
888 | +def _pl2py(pattern): |
889 | + """Convert Perl RE patterns used in uscan to Python's |
890 | + |
891 | + >>> print _pl2py('foo$3') |
892 | + foo\g<3> |
893 | + """ |
894 | + return GROUP_RE.sub(r'\\g<\1>', pattern) |
895 | + |
896 | + |
897 | +def _translate(version, rules, standard): |
898 | + """Translate Python version into Debian one. |
899 | + |
900 | + >>> _translate('1.C2betac', ['s/c//gi'], None) |
901 | + '1.2beta' |
902 | + >>> _translate('5-fooa1.2beta3-fooD', |
903 | + ... ['s/^/1:/', 's/-foo//g', 's:([A-Z]):+$1:'], 'PEP386') |
904 | + '1:5~a1.2~beta3+D' |
905 | + >>> _translate('x.y.x.z', ['tr/xy/ab/', 'y,z,Z,'], None) |
906 | + 'a.b.a.Z' |
907 | + """ |
908 | + for rule in rules: |
909 | + # uscan supports s, tr and y operations |
910 | + if rule.startswith(('tr', 'y')): |
911 | + # Note: no support for escaped separator in the pattern |
912 | + pos = 1 if rule.startswith('y') else 2 |
913 | + tmp = rule[pos + 1:].split(rule[pos]) |
914 | + version = version.translate(maketrans(tmp[0], tmp[1])) |
915 | + elif rule.startswith('s'): |
916 | + # uscan supports: g, u and x flags |
917 | + tmp = rule[2:].split(rule[1]) |
918 | + pattern = re.compile(tmp[0]) |
919 | + count = 1 |
920 | + if tmp[2:]: |
921 | + flags = tmp[2] |
922 | + if 'g' in flags: |
923 | + count = 0 |
924 | + if 'i' in flags: |
925 | + pattern = re.compile(tmp[0], re.I) |
926 | + version = pattern.sub(_pl2py(tmp[1]), version, count) |
927 | + else: |
928 | + log.warn('unknown rule ignored: %s', rule) |
929 | + if standard == 'PEP386': |
930 | + version = PRE_VER_RE.sub('~\g<1>', version) |
931 | + return version |
932 | |
933 | === modified file 'debpython/tools.py' |
934 | --- debpython/tools.py 2011-10-06 00:22:16 +0000 |
935 | +++ debpython/tools.py 2012-11-28 12:53:22 +0000 |
936 | @@ -1,5 +1,5 @@ |
937 | # -*- coding: UTF-8 -*- |
938 | -# Copyright © 2010 Piotr Ożarowski <piotr@debian.org> |
939 | +# Copyright © 2010-2012 Piotr Ożarowski <piotr@debian.org> |
940 | # |
941 | # Permission is hereby granted, free of charge, to any person obtaining a copy |
942 | # of this software and associated documentation files (the "Software"), to deal |
943 | @@ -33,7 +33,7 @@ |
944 | |
945 | log = logging.getLogger(__name__) |
946 | EGGnPTH_RE = re.compile(r'(.*?)(-py\d\.\d(?:-[^.]*)?)?(\.egg-info|\.pth)$') |
947 | -SHEBANG_RE = re.compile(r'^#!\s*/usr/bin/(?:env\s+)?(python(\d+\.\d+)?(?:-dbg)?).*') |
948 | +SHEBANG_RE = re.compile(r'^#!\s*(.*?/bin/.*?)(python(2\.\d+)?(?:-dbg)?)(?:\s(.*))?[$\r\n].*') |
949 | SHAREDLIB_RE = re.compile(r'NEEDED.*libpython(\d\.\d)') |
950 | INSTALL_RE = re.compile(r""" |
951 | (?P<pattern>.+?) # file pattern |
952 | @@ -92,6 +92,42 @@ |
953 | return os.symlink(relpath(target, link), link) |
954 | |
955 | |
956 | +def fix_shebang(fpath, replacement=None): |
957 | + """Normalize file's shebang. |
958 | + |
959 | + :param replacement: new shebang command (path to interpreter and options) |
960 | + """ |
961 | + try: |
962 | + with open(fpath) as fp: |
963 | + fcontent = fp.readlines() |
964 | + if not fcontent: |
965 | + log.debug('fix_shebang: ignoring empty file: %s', fpath) |
966 | + return None |
967 | + except IOError: |
968 | + log.error('cannot open %s', fpath) |
969 | + return False |
970 | + |
971 | + match = SHEBANG_RE.match(fcontent[0]) |
972 | + if not match: |
973 | + return None |
974 | + if not replacement: |
975 | + path, interpreter, version, argv = match.groups() |
976 | + if path != '/usr/bin': # f.e. /usr/local/* or */bin/env |
977 | + replacement = "/usr/bin/%s" % interpreter |
978 | + if interpreter == 'python2': |
979 | + replacement = '/usr/bin/python' |
980 | + if replacement and argv: |
981 | + replacement += " %s" % argv |
982 | + if replacement: |
983 | + log.info('replacing shebang in %s (%s)', fpath, fcontent[0]) |
984 | + # do not catch IOError here, the file is zeroed at this stage so it's |
985 | + # better to fail dh_python2 |
986 | + with open(fpath, 'w') as fp: |
987 | + fp.write("#! %s\n" % replacement) |
988 | + fp.writelines(fcontent[1:]) |
989 | + return True |
990 | + |
991 | + |
992 | def shebang2pyver(fpath): |
993 | """Check file's shebang. |
994 | |
995 | @@ -105,10 +141,10 @@ |
996 | if not match: |
997 | return None |
998 | res = match.groups() |
999 | - if res != (None, None): |
1000 | - if res[1]: |
1001 | - res = res[0], getver(res[1]) |
1002 | - return res |
1003 | + if res[1:3] != (None, None): |
1004 | + if res[2]: |
1005 | + return res[1], getver(res[2]) |
1006 | + return res[1], None |
1007 | except IOError: |
1008 | log.error('cannot open %s', fpath) |
1009 | |
1010 | |
1011 | === modified file 'debpython/version.py' |
1012 | --- debpython/version.py 2011-10-11 16:07:04 +0000 |
1013 | +++ debpython/version.py 2012-11-28 12:53:22 +0000 |
1014 | @@ -1,5 +1,5 @@ |
1015 | # -*- coding: UTF-8 -*- |
1016 | -# Copyright © 2010 Piotr Ożarowski <piotr@debian.org> |
1017 | +# Copyright © 2010-2012 Piotr Ożarowski <piotr@debian.org> |
1018 | # |
1019 | # Permission is hereby granted, free of charge, to any person obtaining a copy |
1020 | # of this software and associated documentation files (the "Software"), to deal |
1021 | @@ -22,6 +22,7 @@ |
1022 | import logging |
1023 | import re |
1024 | from ConfigParser import SafeConfigParser |
1025 | +from os import environ |
1026 | from os.path import exists, dirname, join |
1027 | from types import GeneratorType |
1028 | |
1029 | @@ -36,18 +37,23 @@ |
1030 | |
1031 | # try to read debian_defaults and get a list of supported Python versions and |
1032 | # the default one from there |
1033 | -_config = SafeConfigParser() |
1034 | -_config.read(['/usr/share/python/debian_defaults', |
1035 | - join(dirname(__file__), '..', 'debian', 'debian_defaults')]) |
1036 | +_supported = environ.get('DEBPYTHON_SUPPORTED') |
1037 | +_default = environ.get('DEBPYTHON_DEFAULT') |
1038 | +if not _supported or not _default: |
1039 | + _config = SafeConfigParser() |
1040 | + _config.read('/usr/share/python/debian_defaults') |
1041 | + if not _default: |
1042 | + _default = _config.get('DEFAULT', 'default-version')[6:] |
1043 | + if not _supported: |
1044 | + _supported = _config.get('DEFAULT', 'supported-versions')\ |
1045 | + .replace('python', '') |
1046 | try: |
1047 | - DEFAULT = tuple(int(i) for i in _config.get('DEFAULT', |
1048 | - 'default-version')[6:].split('.')) |
1049 | + DEFAULT = tuple(int(i) for i in _default.split('.')) |
1050 | except Exception: |
1051 | log.exception('cannot read debian_defaults') |
1052 | try: |
1053 | - SUPPORTED = tuple(tuple(int(j) for j in i.strip()[6:].split('.'))\ |
1054 | - for i in _config.get('DEFAULT', |
1055 | - 'supported-versions').split(',')) |
1056 | + SUPPORTED = tuple(tuple(int(j) for j in i.strip().split('.')) |
1057 | + for i in _supported.split(',')) |
1058 | except Exception: |
1059 | log.exception('cannot read debian_defaults') |
1060 | |
1061 | @@ -83,10 +89,10 @@ |
1062 | versions = set(v for v in SUPPORTED if minv <= v < maxv) |
1063 | |
1064 | if available: |
1065 | - versions = set(v for v in versions \ |
1066 | + versions = set(v for v in versions |
1067 | if exists("/usr/bin/python%d.%d" % v)) |
1068 | elif available is False: |
1069 | - versions = set(v for v in versions \ |
1070 | + versions = set(v for v in versions |
1071 | if not exists("/usr/bin/python%d.%d" % v)) |
1072 | |
1073 | return versions |
1074 | @@ -151,6 +157,8 @@ |
1075 | ((2, 6), (2, 6)) |
1076 | >>> parse_pycentral_vrange('2.5, 2.6') |
1077 | ((2, 5), None) |
1078 | + >>> parse_pycentral_vrange('>= 2.6.3') |
1079 | + ((2, 6), None) |
1080 | """ |
1081 | get = lambda x: get_requested_versions(parse_vrange(x)) |
1082 | |
1083 | @@ -188,7 +196,7 @@ |
1084 | minv = sorted(hardcoded)[0] |
1085 | |
1086 | if current: |
1087 | - versions = sorted(get("%s-%s" % (minv if minv else '', \ |
1088 | + versions = sorted(get("%s-%s" % (minv if minv else '', |
1089 | maxv if maxv else ''))) |
1090 | if not versions: |
1091 | raise ValueError("version range doesn't match installed Python versions: %s" % value) |
1092 | |
1093 | === modified file 'dh_python2' |
1094 | --- dh_python2 2012-05-22 11:23:40 +0000 |
1095 | +++ dh_python2 2012-11-28 12:53:22 +0000 |
1096 | @@ -1,7 +1,7 @@ |
1097 | #! /usr/bin/python |
1098 | # -*- coding: UTF-8 -*- vim: et ts=4 sw=4 |
1099 | |
1100 | -# Copyright © 2010-2011 Piotr Ożarowski <piotr@debian.org> |
1101 | +# Copyright © 2010-2012 Piotr Ożarowski <piotr@debian.org> |
1102 | # |
1103 | # Permission is hereby granted, free of charge, to any person obtaining a copy |
1104 | # of this software and associated documentation files (the "Software"), to deal |
1105 | @@ -42,8 +42,8 @@ |
1106 | from debpython.pydist import validate as validate_pydist, \ |
1107 | PUBLIC_DIR_RE |
1108 | from debpython.tools import sitedir, relative_symlink, \ |
1109 | - shebang2pyver, so2pyver, \ |
1110 | - clean_egg_name, \ |
1111 | + fix_shebang, shebang2pyver, \ |
1112 | + so2pyver, clean_egg_name, \ |
1113 | pyinstall, pyremove |
1114 | from debpython.option import Option |
1115 | |
1116 | @@ -299,7 +299,7 @@ |
1117 | |
1118 | |
1119 | ### PACKAGE DETAILS ############################################ |
1120 | -def scan(package, dname=None, clean_dbg_pkg=True): |
1121 | +def scan(package, dname=None, options=None): |
1122 | """Gather statistics about Python files in given package.""" |
1123 | r = {'requires.txt': set(), |
1124 | 'nsp.txt': set(), |
1125 | @@ -321,8 +321,9 @@ |
1126 | 'usr/share/%s', 'usr/share/games/%s')] |
1127 | else: |
1128 | # scan private directory *only* |
1129 | - proot = join('debian', package, dname.strip('/')) |
1130 | - private_to_check = [dname[1:]] |
1131 | + dname = dname.strip('/') |
1132 | + proot = join('debian', package, dname) |
1133 | + private_to_check = [dname] |
1134 | |
1135 | for root, dirs, file_names in os.walk(proot): |
1136 | # ignore Python 3.X locations |
1137 | @@ -358,7 +359,7 @@ |
1138 | # handle some EGG related data (.egg-info dirs) |
1139 | for name in dirs: |
1140 | if name.endswith('.egg-info'): |
1141 | - if dbg_package and clean_dbg_pkg: |
1142 | + if dbg_package and options.clean_dbg_pkg: |
1143 | rmtree(join(root, name)) |
1144 | dirs.remove(name) |
1145 | continue |
1146 | @@ -380,6 +381,11 @@ |
1147 | fpath = join(root, fn) |
1148 | if not exists(fpath): |
1149 | # could be removed while handling .so symlinks |
1150 | + if islink(fpath) and '.so.' in split(fpath)[-1]: |
1151 | + # dangling symlink to (now removed/renamed) .so file |
1152 | + # which wasn't removed yet (see test3's quux.so.0) |
1153 | + log.info('removing symlink: %s', fpath) |
1154 | + os.remove(fpath) |
1155 | continue |
1156 | fext = fn.rsplit('.', 1)[-1] |
1157 | if fext in ('pyc', 'pyo'): |
1158 | @@ -399,18 +405,22 @@ |
1159 | os.remove(lpath) |
1160 | log.info('renaming %s to %s', dstfpath, fn) |
1161 | os.rename(dstfpath, fpath) |
1162 | - if dbg_package and clean_dbg_pkg and fext not in ('so', 'h'): |
1163 | + if dbg_package and options.clean_dbg_pkg and \ |
1164 | + fext not in ('so', 'h'): |
1165 | os.remove(join(root, fn)) |
1166 | continue |
1167 | |
1168 | elif private_dir: |
1169 | - if exists(join(root, fn)): |
1170 | - mode = os.stat(join(root, fn))[ST_MODE] |
1171 | + if exists(fpath): |
1172 | + mode = os.stat(fpath)[ST_MODE] |
1173 | if mode & S_IXUSR or mode & S_IXGRP or mode & S_IXOTH: |
1174 | - res = shebang2pyver(join(root, fn)) |
1175 | - if res: |
1176 | - r['private_dirs'].setdefault(private_dir, {})\ |
1177 | - .setdefault('shebangs', set()).add(res) |
1178 | + if (options.no_shebang_rewrite or \ |
1179 | + fix_shebang(fpath, options.shebang)) and \ |
1180 | + not options.ignore_shebangs: |
1181 | + res = shebang2pyver(fpath) |
1182 | + if res: |
1183 | + r['private_dirs'].setdefault(private_dir, {})\ |
1184 | + .setdefault('shebangs', set()).add(res) |
1185 | |
1186 | if public_dir or private_dir: |
1187 | if fext == 'so': |
1188 | @@ -447,11 +457,14 @@ |
1189 | continue |
1190 | # search for scripts in bin dirs |
1191 | if bin_dir: |
1192 | - res = shebang2pyver(fpath) |
1193 | - if res: |
1194 | - r['shebangs'].add(res) |
1195 | + if (options.no_shebang_rewrite or \ |
1196 | + fix_shebang(fpath, options.shebang)) and \ |
1197 | + not options.ignore_shebangs: |
1198 | + res = shebang2pyver(fpath) |
1199 | + if res: |
1200 | + r['shebangs'].add(res) |
1201 | |
1202 | - if dbg_package and clean_dbg_pkg: |
1203 | + if dbg_package and options.clean_dbg_pkg: |
1204 | # remove empty directories in -dbg packages |
1205 | proot = proot + '/usr/lib' |
1206 | for root, dirs, file_names in os.walk(proot, topdown=False): |
1207 | @@ -468,7 +481,7 @@ |
1208 | ################################################################ |
1209 | def main(): |
1210 | usage = '%prog -p PACKAGE [-V [X.Y][-][A.B]] DIR [-X REGEXPR]\n' |
1211 | - parser = OptionParser(usage, version='%prog 2.0~beta1', |
1212 | + parser = OptionParser(usage, version='%prog 2.1', |
1213 | option_class=Option) |
1214 | parser.add_option('--no-guessing-versions', action='store_false', |
1215 | dest='guess_versions', default=True, |
1216 | @@ -514,6 +527,8 @@ |
1217 | help='recreate __init__.py files for given namespaces at install time') |
1218 | parser.add_option('--clean-pycentral', action='store_true', default=False, |
1219 | help='generate maintainer script that will remove pycentral files') |
1220 | + parser.add_option('--shebang', |
1221 | + help='use given command as shebang in scripts') |
1222 | parser.add_option('--ignore-shebangs', action='store_true', default=False, |
1223 | help='do not translate shebangs into Debian dependencies') |
1224 | parser.add_option('--ignore-namespace', action='store_true', default=False, |
1225 | @@ -521,6 +536,8 @@ |
1226 | parser.add_option('--no-dbg-cleaning', action='store_false', |
1227 | dest='clean_dbg_pkg', default=True, |
1228 | help='do not remove files from debug packages') |
1229 | + parser.add_option('--no-shebang-rewrite', action='store_true', |
1230 | + default=False, help='do not rewrite shebangs') |
1231 | # ignore some debhelper options: |
1232 | parser.add_option('-O', help=SUPPRESS_HELP) |
1233 | |
1234 | @@ -588,7 +605,7 @@ |
1235 | if not pyremove(package, options.vrange): |
1236 | exit(5) |
1237 | fix_locations(package) |
1238 | - stats = scan(package, private_dir, options.clean_dbg_pkg) |
1239 | + stats = scan(package, private_dir, options) |
1240 | if not private_dir: |
1241 | share(package, stats, options) |
1242 | pyshared_dir = "debian/%s/usr/share/pyshared/" % package |
1243 | |
1244 | === modified file 'dh_python2.rst' |
1245 | --- dh_python2.rst 2011-10-06 00:22:16 +0000 |
1246 | +++ dh_python2.rst 2012-11-28 12:53:22 +0000 |
1247 | @@ -22,13 +22,13 @@ |
1248 | * build module/application using its standard build system, |
1249 | remember to build extensions for all supported Python versions (loop over |
1250 | ``pyversions -vr``), |
1251 | - * install files to the *standard* locations, add ``--install-layout=deb`` to |
1252 | + * install files to the *standard* locations, add `--install-layout=deb` to |
1253 | setup.py's install command if your package is using distutils, |
1254 | - * add ``python2`` to dh's ``--with`` option, or: |
1255 | - * include /usr/share/cdbs/1/class/python-distutils.mk in debian/rules and |
1256 | - depend on cdbs (>= 0.4.90), or: |
1257 | - * call dh_python2 in the binary-* target, |
1258 | - * add ${python:Depends} to Depends, |
1259 | + * add `python2` to dh's --with option, or: |
1260 | + * `include /usr/share/cdbs/1/class/python-distutils.mk` in debian/rules and |
1261 | + depend on `cdbs (>= 0.4.90)`, or: |
1262 | + * call ``dh_python2`` in the `binary-*` target, |
1263 | + * add `${python:Depends}` to Depends |
1264 | |
1265 | NOTES |
1266 | ----- |
1267 | @@ -43,17 +43,19 @@ |
1268 | dependencies |
1269 | ~~~~~~~~~~~~ |
1270 | dh_python2 tries to translate Python dependencies from requires.txt file to |
1271 | -Debian dependencies, use debian/pydist-overrides or --no-guessing-deps option |
1272 | -to override it. If you want dh_python2 to generate more strict dependencies |
1273 | -(f.e. to avoid ABI problems) create debian/python-foo.pydist file. See |
1274 | -/usr/share/doc/python-doc/README.PyDist (provided by python-doc package) for |
1275 | -more information. |
1276 | +Debian dependencies. Use debian/pydist-overrides or --no-guessing-deps option |
1277 | +to override it if the guess is incorrect. If you want dh_python2 to generate |
1278 | +more strict dependencies (f.e. to avoid ABI problems) create |
1279 | +debian/python-foo.pydist file. See /usr/share/doc/python-doc/README.PyDist |
1280 | +(provided by python-doc package) for more information. If the pydist file |
1281 | +contains PEP386 flag or set of (uscan like) rules, dh_python2 will make the |
1282 | +depedency versioned (version requirements are ignored by default). |
1283 | |
1284 | namespace feature |
1285 | ~~~~~~~~~~~~~~~~~ |
1286 | dh_python2 parses Egg's namespace_packages.txt files (in addition to |
1287 | --namespace command line argument(s)) and drops empty __init__.py files from |
1288 | -binary package. pycompile will regenerates them at install time and pyclean |
1289 | +binary package. pycompile will regenerate them at install time and pyclean |
1290 | will remove them at uninstall time (if they're no longer used in installed |
1291 | packages). It's still a good idea to provide __init__.py file in one of |
1292 | binary packages (even if all other packages use this feature). |
1293 | @@ -70,24 +72,33 @@ |
1294 | dh_python2 with --skip-private option and add another call with a path to this |
1295 | directory and new options. |
1296 | |
1297 | +debug packages |
1298 | +~~~~~~~~~~~~~~ |
1299 | +In binary packages which name ends with `-dbg`, all files in |
1300 | +`/usr/lib/python2.X/{site,dist}-packages/` directory |
1301 | +that have extensions different than `so` or `h` are removed by default. |
1302 | +Use --no-dbg-cleaning option to disable this feature. |
1303 | + |
1304 | pyinstall files |
1305 | ~~~~~~~~~~~~~~~ |
1306 | Files listed in debian/pkg.pyinstall file will be installed as public modules |
1307 | for all requested Python versions (dh_install doesn't know about python's site- |
1308 | vs. dist-packages issue). |
1309 | |
1310 | -Syntax: "path/to/file [VERSION_RANGE] [NAMESPACE]". debian directory is |
1311 | -automatically removed from the path, so you can place your files in debian/ |
1312 | -directory and install them from this location (if you want to install them in |
1313 | -"debian" namespace, set NAMESPACE to debian). If NAMESPACE is set, all listed |
1314 | -files will be installed in .../dist-packages/NAMESPACE/ directory. |
1315 | +Syntax: ``path/to/file [VERSION_RANGE] [NAMESPACE]`` |
1316 | + |
1317 | +debian directory is automatically removed from the path, so you can place your |
1318 | +files in debian/ directory and install them from this location (if you want to |
1319 | +install them in "debian" namespace, set NAMESPACE to debian). If NAMESPACE is |
1320 | +set, all listed files will be installed in .../dist-packages/NAMESPACE/ |
1321 | +directory. |
1322 | |
1323 | Examples: |
1324 | - * `foo.py` (installs .../dist-packages/foo.py for all supported Python versions) |
1325 | - * `foo/bar.py 2.6-` (installs .../dist-packages/foo/bar.py for versions >= 2.6) |
1326 | - * `foo/bar.py spam` (installs .../dist-packages/spam/bar.py) |
1327 | - * `debian/*.py spam.egg 2.5` (installs .../python2.5/site-packages/spam/egg/\*.py |
1328 | - files) |
1329 | + * ``foo.py`` installs .../dist-packages/foo.py for all supported Python versions |
1330 | + * ``foo/bar.py 2.6-`` installs .../dist-packages/foo/bar.py for versions >= 2.6 |
1331 | + * ``foo/bar.py spam`` installs .../dist-packages/spam/bar.py |
1332 | + * ``debian/*.py spam.egg 2.5`` installs .../python2.5/site-packages/spam/egg/\*.py |
1333 | + files |
1334 | |
1335 | pyremove files |
1336 | ~~~~~~~~~~~~~~ |
1337 | @@ -96,8 +107,18 @@ |
1338 | debian/pkg.pyremove file. |
1339 | |
1340 | Examples: |
1341 | - * `*.pth` (removes .pth files from .../dist-packages/) |
1342 | - * `bar/baz.py 2.5` (removes .../python2.5/site-packages/bar/baz.py) |
1343 | + * ``*.pth`` removes .pth files from .../dist-packages/ |
1344 | + * ``bar/baz.py 2.5`` removes .../python2.5/site-packages/bar/baz.py |
1345 | + |
1346 | +overriding supported / default Python versions |
1347 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
1348 | +If you want to override system's list of supported Python versions or the |
1349 | +default one (f.e. to build a package that includes symlinks for older version |
1350 | +of Python or compile .py files only for given interpreter version), you can do |
1351 | +that via `DEBPYTHON_SUPPORTED` and/or `DEBPYTHON_DEFAULT` env. variables. |
1352 | + |
1353 | +Example: ``2.5,2.7`` limits the list of supported Python versions to Python 2.5 |
1354 | +and Python 2.7. |
1355 | |
1356 | |
1357 | OPTIONS |
1358 | @@ -112,6 +133,8 @@ |
1359 | |
1360 | --no-dbg-cleaning do not remove any files from debug packages |
1361 | |
1362 | +--no-shebang-rewrite do not rewrite shebangs |
1363 | + |
1364 | --skip-private don't check private directories |
1365 | |
1366 | -v, --verbose turn verbose mode on |
1367 | @@ -156,6 +179,8 @@ |
1368 | --clean-pycentral generate maintainer script that will remove byte code |
1369 | generated by python-central helper |
1370 | |
1371 | +--shebang=COMMAND use given command as shebang in scripts |
1372 | + |
1373 | --ignore-shebangs do not translate shebangs into Debian dependencies |
1374 | |
1375 | SEE ALSO |
1376 | |
1377 | === modified file 'pyclean' |
1378 | --- pyclean 2011-09-27 18:21:42 +0000 |
1379 | +++ pyclean 2012-11-28 12:53:22 +0000 |
1380 | @@ -1,8 +1,7 @@ |
1381 | #! /usr/bin/python |
1382 | -# -*- coding: UTF-8 -*- |
1383 | -# vim: et ts=4 sw=4 |
1384 | - |
1385 | -# Copyright © 2010-2011 Piotr Ożarowski <piotr@debian.org> |
1386 | +# -*- coding: UTF-8 -*- vim: et ts=4 sw=4 |
1387 | +# |
1388 | +# Copyright © 2010-2012 Piotr Ożarowski <piotr@debian.org> |
1389 | # |
1390 | # Permission is hereby granted, free of charge, to any person obtaining a copy |
1391 | # of this software and associated documentation files (the "Software"), to deal |
1392 | |
1393 | === modified file 'pycompile' |
1394 | --- pycompile 2011-10-06 00:22:16 +0000 |
1395 | +++ pycompile 2012-11-28 12:53:22 +0000 |
1396 | @@ -1,8 +1,7 @@ |
1397 | #! /usr/bin/python |
1398 | -# -*- coding: utf-8 -*- |
1399 | -# vim: et ts=4 sw=4 |
1400 | - |
1401 | -# Copyright © 2010-2011 Piotr Ożarowski <piotr@debian.org> |
1402 | +# -*- coding: utf-8 -*- vim: et ts=4 sw=4 |
1403 | +# |
1404 | +# Copyright © 2010-2012 Piotr Ożarowski <piotr@debian.org> |
1405 | # Copyright © 2010 Canonical Ltd |
1406 | # |
1407 | # Permission is hereby granted, free of charge, to any person obtaining a copy |
1408 | @@ -132,7 +131,7 @@ |
1409 | if not isinstance(version, basestring): |
1410 | version = vrepr(version) |
1411 | cmd = "/usr/bin/python%s%s -m py_compile -" \ |
1412 | - % (version, '' if (__debug__ or not optimize) else ' -O') |
1413 | + % (version, ' -O' if optimize else '') |
1414 | process = Popen(cmd, bufsize=1, shell=True, |
1415 | stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True) |
1416 | workers[version] = process # keep the reference for .communicate() |
1417 | @@ -153,7 +152,7 @@ |
1418 | |
1419 | # byte compile files |
1420 | for fn, versions_to_compile in filter_files(files, e_patterns, versions): |
1421 | - cfn = fn + 'c' if (__debug__ or not optimize) else 'o' |
1422 | + cfn = fn + 'o' if optimize else 'c' |
1423 | if not exists(fn): |
1424 | # pycentral's hook should clean it later |
1425 | if islink(fn): |
1426 | |
1427 | === modified file 'pydist/dist_fallback' |
1428 | --- pydist/dist_fallback 2011-10-06 00:22:16 +0000 |
1429 | +++ pydist/dist_fallback 2012-11-28 12:53:22 +0000 |
1430 | @@ -1,51 +1,46 @@ |
1431 | python python |
1432 | setuptools python-pkg-resources |
1433 | wsgiref python (>= 2.5) | python-wsgiref |
1434 | +argparse python (>= 2.7) | python-argparse |
1435 | +pil python-imaging |
1436 | AddOns python-peak.util |
1437 | +BatchModify trac-batchmodify |
1438 | BitTornado bittornado |
1439 | BitTorrent bittorrent |
1440 | -Bitten trac-bitten |
1441 | -Bugs_Everywhere bugs-everywhere |
1442 | +Bitten trac-bitten-slave |
1443 | BytecodeAssembler python-peak.util |
1444 | BzrPipeline bzr-pipeline |
1445 | BzrTools bzrtools |
1446 | +Calendar_and_Contacts_Server calendarserver |
1447 | CedarBackup2 cedar-backup2 |
1448 | CherryPy python-cherrypy3 |
1449 | +CherryTree cherrytree |
1450 | ClusterShell clustershell |
1451 | Codeville codeville |
1452 | -Connectome_Viewer connectomeviewer |
1453 | ControlAula controlaula |
1454 | -Couchapp couchapp |
1455 | CoverageTestRunner python-coverage-test-runner |
1456 | -Cython cython |
1457 | DITrack ditrack |
1458 | DebTorrent debtorrent |
1459 | DecoratorTools python-peak.util.decorators |
1460 | +DiaVisViewPlugin trac-diavisview |
1461 | Djapian python-django-djapian |
1462 | -Djblets python-django-djblets |
1463 | -Dockbarx dockbarx |
1464 | +Doconce doconce |
1465 | Dosage dosage |
1466 | DouF00 douf00 |
1467 | Editra editra |
1468 | -Eikazo eikazo |
1469 | Extremes python-peak.util |
1470 | Fabric fabric |
1471 | FeinCMS python-django-feincms |
1472 | Flask_WTF python-flaskext.wtf |
1473 | -GGZChess python-ggz |
1474 | -GGZCore python-ggz |
1475 | -GGZDMod python-ggz |
1476 | -GGZMod python-ggz |
1477 | -Gally gally |
1478 | GaussSum gausssum |
1479 | GeoIP_Python python-geoip |
1480 | GitPython python-git |
1481 | -Gufw gufw |
1482 | HarvestMan harvestman |
1483 | ISO8583_Module python-iso8583 |
1484 | Ibid ibid |
1485 | JCC jcc |
1486 | Loom bzr-loom |
1487 | +MAT mat |
1488 | Magic_file_extensions python-magic |
1489 | Mirage mirage |
1490 | Mnemosyne mnemosyne |
1491 | @@ -53,11 +48,11 @@ |
1492 | MySQL_python python-mysqldb |
1493 | Nautilus_scripts_manager nautilus-scripts-manager |
1494 | Nulog nulog |
1495 | +OdtExportPlugin trac-odtexport |
1496 | PEAK_Rules python-peak.rules |
1497 | PIDA pida |
1498 | Photon photon |
1499 | Plywood plywood |
1500 | -Pootle pootle |
1501 | Postr postr |
1502 | PreludeEasy python-prelude |
1503 | PsychoPy psychopy |
1504 | @@ -66,8 +61,11 @@ |
1505 | PyBluez python-bluez |
1506 | PyCAPTCHA python-captcha |
1507 | PyCoCuMa pycocuma |
1508 | +PyFFTW3 python-fftw |
1509 | +PyHamcrest python-hamcrest |
1510 | PyMca pymca |
1511 | PyMetrics pymetrics |
1512 | +PyNAST pynast |
1513 | PyOpenGL python-opengl |
1514 | PyProtocols python-protocols |
1515 | PyRoom pyroom |
1516 | @@ -76,53 +74,63 @@ |
1517 | PyWavelets python-pywt |
1518 | PyWebDAV python-webdav |
1519 | PyYAML python-yaml |
1520 | +Py_ python-py++ |
1521 | Pygmy pygmy |
1522 | -Pyjamas pyjamas-pyjs |
1523 | Pymacs pymacs |
1524 | -Pyro pyro |
1525 | -Pyste libboost-python1.46-dev |
1526 | +Pyste libboost-python1.49-dev |
1527 | PythonDaap python-daap |
1528 | QuantLib_Python quantlib-python |
1529 | Quixote python-quixote1 |
1530 | -RSVGSDL python-ggz |
1531 | -SSSDConfig python-sss |
1532 | +Ren_Py python-renpy |
1533 | +Roadmap_Plugin trac-roadmap |
1534 | +RunSnakeRun runsnakerun |
1535 | ScientificPython python-scientific |
1536 | Shinken shinken-core |
1537 | Sonata sonata |
1538 | South python-django-south |
1539 | -SpreadModule python-spread |
1540 | -Starch coop-computing-tools |
1541 | SymbolType python-peak.util |
1542 | Symbolic python-swiginac |
1543 | +TcosConfigurator tcos-configurator |
1544 | The_FreeSmartphone_Framework_Daemon fso-frameworkd |
1545 | TileCache tilecache |
1546 | TileStache tilestache |
1547 | Trac trac |
1548 | TracAccountManager trac-accountmanager |
1549 | +TracAnnouncer trac-announcer |
1550 | TracAuthOpenId trac-authopenid |
1551 | TracBzr trac-bzr |
1552 | TracCustomFieldAdmin trac-customfieldadmin |
1553 | TracDateField trac-datefieldplugin |
1554 | TracGit trac-git |
1555 | +TracHTTPAuth trac-httpauth |
1556 | TracMasterTickets trac-mastertickets |
1557 | TracMercurial trac-mercurial |
1558 | -TracPrivateTickets trac-privateticketsplugin |
1559 | +TracPrivateTickets trac-privatetickets |
1560 | TracSpamFilter trac-spamfilter |
1561 | +TracSubTicketsPlugin trac-subtickets |
1562 | TracTags trac-tags |
1563 | +TracVirtualTicketPermissions trac-virtualticketpermissions |
1564 | TracWikiPrintPlugin trac-wikiprint |
1565 | -TracWikiRename trac-wikirename |
1566 | TracWysiwyg trac-wysiwyg |
1567 | TracXMLRPC trac-xmlrpc |
1568 | +Trac_jsGantt trac-jsgantt |
1569 | Turtle_Art turtleart |
1570 | UNKNOWN python-pdfrw |
1571 | +UnknownHorizons unknown-horizons |
1572 | +VirtualMailManager vmm |
1573 | WikiTableMacro trac-wikitablemacro |
1574 | Wikkid wikkid |
1575 | +WordPress_Library python-wordpresslib |
1576 | +X_Tile x-tile |
1577 | ZODB3 python-zodb |
1578 | +_tifffile tifffile |
1579 | activity_log_manager activity-log-manager |
1580 | adns_python python-adns |
1581 | agtl agtl |
1582 | +alembic alembic |
1583 | allmydata_tahoe tahoe-lafs |
1584 | apache_libcloud python-libcloud |
1585 | +apparmor apparmor-utils |
1586 | apt_clone apt-clone |
1587 | apt_p2p apt-p2p |
1588 | apt_xapian_index apt-xapian-index |
1589 | @@ -131,14 +139,13 @@ |
1590 | arandr arandr |
1591 | archivemail archivemail |
1592 | archmage archmage |
1593 | -arcjobtool arcjobtool |
1594 | arista arista |
1595 | -astk code-aster-run |
1596 | atheist atheist |
1597 | autokey autokey-common |
1598 | +beautifulsoup4 python-bs4 |
1599 | bicyclerepair bicyclerepair |
1600 | -bitbake bitbake |
1601 | bley bley |
1602 | +bookletimposer bookletimposer |
1603 | bpython bpython |
1604 | buildbot buildbot |
1605 | buildbot_slave buildbot-slave |
1606 | @@ -154,8 +161,6 @@ |
1607 | bzr_git bzr-git |
1608 | bzr_grep bzr-grep |
1609 | bzr_gtk bzr-gtk |
1610 | -bzr_hg bzr-hg |
1611 | -bzr_pqm bzr-pqm |
1612 | bzr_rewrite bzr-rewrite |
1613 | bzr_search bzr-search |
1614 | bzr_stats bzr-stats |
1615 | @@ -163,32 +168,38 @@ |
1616 | bzr_upload bzr-upload |
1617 | bzr_xmloutput bzr-xmloutput |
1618 | cappuccino cappuccino |
1619 | +carbon graphite-carbon |
1620 | cardstories cardstories |
1621 | cfget cfget |
1622 | +chirp chirp |
1623 | chm2pdf chm2pdf |
1624 | cm config-manager |
1625 | +cmdtest cmdtest |
1626 | +cpuset cpuset |
1627 | cvs2svn cvs2svn |
1628 | -cwm python-swap |
1629 | d_feet d-feet |
1630 | +d_rats d-rats |
1631 | +datapm datapm |
1632 | +dblatex dblatex |
1633 | dctrl2xml dctrl2xml |
1634 | debpartial_mirror debpartial-mirror |
1635 | deluge deluge-common |
1636 | devscripts devscripts |
1637 | +dicompyler dicompyler |
1638 | dissy dissy |
1639 | -distro_info distro-info |
1640 | djagios djagios |
1641 | django_ajax_selects django-ajax-selects |
1642 | django_filter django-filter |
1643 | django_openid_auth python-django-auth-openid |
1644 | -django_tables django-tables |
1645 | +django_tables2 django-tables |
1646 | +django_tastypie python-tastypie |
1647 | djextdirect python-django-extdirect |
1648 | +dkimpy python-dkim |
1649 | dot2tex dot2tex |
1650 | driconf driconf |
1651 | dtrx dtrx |
1652 | duplicity duplicity |
1653 | dvcs_autosync dvcs-autosync |
1654 | -earcandy earcandy |
1655 | -ears ears |
1656 | eficas eficas |
1657 | elisa python-moovida |
1658 | elisa_plugin_amazon moovida-plugins-bad |
1659 | @@ -224,81 +235,93 @@ |
1660 | elisa_plugin_wmd moovida-plugins-bad |
1661 | elisa_plugin_youtube moovida-plugins-ugly |
1662 | epigrass epigrass |
1663 | +epoptes epoptes |
1664 | +espeak_gui espeak-gui |
1665 | euca2ools euca2ools |
1666 | explorer bzr-explorer |
1667 | flashbake flashbake |
1668 | flickrfs flickrfs |
1669 | fontypython fontypython |
1670 | +frescobaldi frescobaldi |
1671 | +fts fts |
1672 | +fts_clacks fts-clacks |
1673 | +fts_fai fts-fai-ldap |
1674 | +fts_ltsp fts-ltsp-ldap |
1675 | +fts_opsi fts-opsi |
1676 | funkload funkload |
1677 | fuse_python python-fuse |
1678 | fusil fusil |
1679 | -fusion_icon fusion-icon |
1680 | fuss_launcher fuss-launcher |
1681 | -gEcrit gecrit |
1682 | galternatives galternatives |
1683 | +gameclock gameclock |
1684 | gaphor gaphor |
1685 | gastablesgui gastables |
1686 | +gbp git-buildpackage |
1687 | gdevilspie gdevilspie |
1688 | gdmodule python-gd |
1689 | genbackupdata genbackupdata |
1690 | getmail getmail4 |
1691 | geximon geximon |
1692 | -git_build_package git-buildpackage |
1693 | +git_review git-review |
1694 | github_cli github-cli |
1695 | giws giws |
1696 | gjots2 gjots2 |
1697 | +glipper glipper |
1698 | globs globs |
1699 | +glue glue-sprite |
1700 | gmobilemedia gmobilemedia |
1701 | gnome_activity_journal gnome-activity-journal |
1702 | gnome_app_install gnome-codec-install |
1703 | gnomecatalog gnomecatalog |
1704 | gnuplot_py python-gnuplot |
1705 | go2 go2 |
1706 | -googlecl googlecl |
1707 | gozerbot gozerbot |
1708 | gozerplugs gozerbot-plugins |
1709 | gpodder gpodder |
1710 | gquilt gquilt |
1711 | -gracie gracie |
1712 | graphviz trac-graphviz |
1713 | -groundcontrol groundcontrol |
1714 | gunicorn gunicorn |
1715 | gvb gvb |
1716 | gwrite gwrite |
1717 | gyp gyp |
1718 | -hellanzb hellanzb |
1719 | hgnested mercurial-nested |
1720 | hgsvn hgsvn |
1721 | -hgview hgview |
1722 | +hitchhhiker hitchhiker |
1723 | hotwire hotwire |
1724 | +httpcode httpcode |
1725 | +httpie httpie |
1726 | +hyde hyde |
1727 | ibus_tegaki ibus-tegaki |
1728 | icalview trac-icalviewplugin |
1729 | identicurse identicurse |
1730 | imposm.parser python-imposm-parser |
1731 | -include_server distcc-pump |
1732 | -indywiki indywiki |
1733 | iotop iotop |
1734 | ipython ipython |
1735 | +isoquery isoquery |
1736 | jack jack |
1737 | jsb jsonbot |
1738 | +juju juju |
1739 | +kedpm kedpm |
1740 | +keepnote keepnote |
1741 | key_mon key-mon |
1742 | keymapper keymapper |
1743 | kiki kiki |
1744 | lastfmsubmitd lastfmsubmitd |
1745 | lazygal lazygal |
1746 | +legit legit |
1747 | libtpclient_py python-tp-client |
1748 | libtpproto_py python-tp-netlib |
1749 | -live_magic live-magic |
1750 | +lio lio-utils |
1751 | llnl_babel python-sidl |
1752 | llnl_babel_sidl_sidlx python-sidl |
1753 | loggerhead loggerhead |
1754 | londonlaw londonlaw |
1755 | lptools lptools |
1756 | lshell lshell |
1757 | -lucene pylucene |
1758 | ludev_t ludevit |
1759 | lybniz lybniz |
1760 | mayavi mayavi2 |
1761 | +mcomix mcomix |
1762 | mecab_python python-mecab |
1763 | mercurial mercurial-common |
1764 | mic mic2 |
1765 | @@ -306,19 +329,23 @@ |
1766 | mingc python-ming |
1767 | mini_dinstall mini-dinstall |
1768 | miro miro |
1769 | +mitmproxy mitmproxy |
1770 | mod_python libapache2-mod-python |
1771 | moin python-moinmoin |
1772 | moosic moosic |
1773 | mozilla_devscripts mozilla-devscripts |
1774 | mpDris mpdris |
1775 | -msgpack_python msgpack-python |
1776 | museek_python_bindings python-museek |
1777 | musiclibrarian musiclibrarian |
1778 | +mysql_utilities mysql-utilities |
1779 | +nautilus_pastebin nautilus-pastebin |
1780 | neso tryton-neso |
1781 | netsnmp_python libsnmp-python |
1782 | nfoview nfoview |
1783 | nglister nglister |
1784 | +nml nml |
1785 | nsscache nsscache |
1786 | +nxt_python python-nxt |
1787 | obMenu obmenu |
1788 | obnam obnam |
1789 | oboinus oboinus |
1790 | @@ -329,14 +356,16 @@ |
1791 | openbmap_logger openbmap-logger |
1792 | openoffice_python python-openoffice |
1793 | openshot openshot |
1794 | +openstack.common python-openstack-common |
1795 | osc osc |
1796 | -ows ows |
1797 | pYsearch python-yahoo |
1798 | +pbundler pbundler |
1799 | pdfposter pdfposter |
1800 | pdfshuffler pdfshuffler |
1801 | pep8 pep8 |
1802 | perroquet perroquet |
1803 | -picard picard |
1804 | +pgxnclient pgxnclient |
1805 | +photofilmstrip photofilmstrip |
1806 | pithos pithos |
1807 | pkpgcounter pkpgcounter |
1808 | playitslowly playitslowly |
1809 | @@ -344,14 +373,18 @@ |
1810 | prelude_correlator prelude-correlator |
1811 | prelude_notify prelude-notify |
1812 | preprocess preprocess |
1813 | +presage_dbus_service presage-dbus |
1814 | prewikka prewikka |
1815 | prioritized_methods python-peak.rules |
1816 | proteus tryton-proteus |
1817 | prover9_mace4 prover9-mace4 |
1818 | pssh pssh |
1819 | +ptex2tex ptex2tex |
1820 | puddletag puddletag |
1821 | purity_ng purity-ng |
1822 | pyExcelerator python-excelerator |
1823 | +pyFAI pyfai |
1824 | +pyLibravatar python-libravatar |
1825 | pyOpenSSL python-openssl |
1826 | pyPortMidi python-pypm |
1827 | py_Asterisk python-asterisk |
1828 | @@ -359,8 +392,8 @@ |
1829 | py_rrdtool python-rrdtool |
1830 | py_sendfile python-sendfile |
1831 | pyacidobasic python-acidobasic |
1832 | +pyacoustid python-acoustid |
1833 | pyalsaaudio python-alsaaudio |
1834 | -pybackpack pybackpack |
1835 | pybloom python-bloomfilter |
1836 | pybridge pybridge |
1837 | pybtex pybtex |
1838 | @@ -370,9 +403,7 @@ |
1839 | pychm python-chm |
1840 | pycrypto python-crypto |
1841 | pydicom python-dicom |
1842 | -pydkim python-dkim |
1843 | pydns python-dns |
1844 | -pyelemental python-elemental |
1845 | pyenchant python-enchant |
1846 | pyepr python-epr |
1847 | pyfacebook python-facebook |
1848 | @@ -381,38 +412,42 @@ |
1849 | pygopherd pygopherd |
1850 | pygpgme python-gpgme |
1851 | pygpiv python-gpiv |
1852 | +pygrib python-grib |
1853 | pyliblo python-liblo |
1854 | pyliblzma python-lzma |
1855 | pylibpcap python-libpcap |
1856 | -pylibssh2 python-libssh2 |
1857 | pylint pylint |
1858 | +pylogsparser python-logsparser |
1859 | pymecavideo python-mecavideo |
1860 | pymilter python-milter |
1861 | pymol pymol |
1862 | pymucipher python-museek |
1863 | pymvpa python-mvpa |
1864 | +pymvpa2 python-mvpa2 |
1865 | pyneighborhood pyneighborhood |
1866 | pynids python-nids |
1867 | pynifti python-nifti |
1868 | pyogg python-ogg |
1869 | +pyp pyp |
1870 | pyparallel python-parallel |
1871 | pyppd pyppd |
1872 | pyprompter pyprompter |
1873 | -pyqonsole pyqonsole |
1874 | pyremctl python-remctl |
1875 | pyrit pyrit |
1876 | pyrite_publisher pyrite-publisher |
1877 | pysane python-imaging-sane |
1878 | pysatellites python-satellites |
1879 | pyserial python-serial |
1880 | -pysnmp python-pysnmp2 |
1881 | +pysnmp python-pysnmp4 |
1882 | pysnmp_apps python-pysnmp4-apps |
1883 | pysnmp_mibs python-pysnmp4-mibs |
1884 | pysparse python-sparse |
1885 | +pyspf python-spf |
1886 | pyspi python-at-spi |
1887 | pysqlite python-pysqlite1.1 |
1888 | pystatgrab python-statgrab |
1889 | pysubnettree python-subnettree |
1890 | +pysurfer python-surfer |
1891 | pytagsfs pytagsfs |
1892 | pytcpwrap python-tcpwrap |
1893 | python2_biggles python-pybiggles |
1894 | @@ -425,10 +460,10 @@ |
1895 | python_logging_extra python-loggingx |
1896 | python_memcached python-memcache |
1897 | python_policyd_spf postfix-policyd-spf-python |
1898 | -python_workqueue coop-computing-tools |
1899 | python_yapps yapps2 |
1900 | pythontracer pythontracer |
1901 | pytidylib python-tidylib |
1902 | +pytimechart pytimechart |
1903 | pytrainer pytrainer |
1904 | pytz python-tz |
1905 | pyusb python-usb |
1906 | @@ -439,6 +474,10 @@ |
1907 | qbzr qbzr |
1908 | qct qct |
1909 | qmtest qmtest |
1910 | +qpid_python python-qpid |
1911 | +qpid_qmf python-qpid-extras-qmf |
1912 | +qpid_tools qpid-tools |
1913 | +quisk quisk |
1914 | quodlibet exfalso |
1915 | qweborf qweborf |
1916 | rabbitvcs rabbitvcs-core |
1917 | @@ -450,9 +489,9 @@ |
1918 | rebuildd rebuildd |
1919 | recaptcha_client python-recaptcha |
1920 | relational_gui relational |
1921 | +relational_pyside relational |
1922 | relational_readline relational-cli |
1923 | remuco remuco-base |
1924 | -renpy_module python-renpy |
1925 | repoze.what.plugins.sql python-repoze.what-plugins |
1926 | repoze.what.plugins.xml python-repoze.what-plugins |
1927 | repoze.what_pylons python-repoze.what-plugins |
1928 | @@ -465,18 +504,27 @@ |
1929 | roundup roundup |
1930 | rpl rpl |
1931 | rst2pdf rst2pdf |
1932 | -scikits.learn python-scikits-learn |
1933 | +rubber rubber |
1934 | +salt salt-common |
1935 | +scikit_learn python-sklearn |
1936 | +scikits_image python-skimage |
1937 | screenlets screenlets |
1938 | seivot seivot |
1939 | -sessioninstaller sessioninstaller |
1940 | +sensitivetickets trac-sensitivetickets |
1941 | +servefile servefile |
1942 | +shedskin shedskin |
1943 | slapos.core slapos-client |
1944 | +slimit slimit |
1945 | smart python-smartpm |
1946 | -smart_notifier smart-notifier |
1947 | snimpy snimpy |
1948 | spambayes spambayes |
1949 | spectacle spectacle |
1950 | specto specto |
1951 | +sphinxcontrib_actdiag python-sphinxcontrib.actdiag |
1952 | +sphinxcontrib_blockdiag python-sphinxcontrib.blockdiag |
1953 | sphinxcontrib_issuetracker python-sphinxcontrib.issuetracker |
1954 | +sphinxcontrib_nwdiag python-sphinxcontrib.nwdiag |
1955 | +sphinxcontrib_seqdiag python-sphinxcontrib.seqdiag |
1956 | sphinxcontrib_spelling python-sphinxcontrib.spelling |
1957 | spyder python-spyderlib |
1958 | sqlalchemy_migrate python-migrate |
1959 | @@ -486,19 +534,22 @@ |
1960 | supervisor supervisor |
1961 | supybot supybot |
1962 | svnmailer svnmailer |
1963 | -synce_kpm synce-kpm |
1964 | -synce_sync_engine synce-sync-engine |
1965 | +synaptiks kde-config-touchpad |
1966 | tailor tailor |
1967 | +targetcli targetcli |
1968 | +tcm lio-utils |
1969 | +tcosconfig tcosconfig |
1970 | tegaki_pygtk python-tegaki-gtk |
1971 | tegaki_python python-tegaki |
1972 | tegaki_tools python-tegakitools |
1973 | tegaki_train tegaki-train |
1974 | tgext.crud python-tgext.admin |
1975 | +tilelite tilelite |
1976 | tinyeartrainer tinyeartrainer |
1977 | tortoisehg tortoisehg |
1978 | transifex_client transifex-client |
1979 | translate_toolkit translate-toolkit |
1980 | -trash trash-cli |
1981 | +trash_cli trash-cli |
1982 | trimage trimage |
1983 | tritium tritium |
1984 | tryton tryton-client |
1985 | @@ -553,34 +604,34 @@ |
1986 | ttb ttb |
1987 | turpial turpial |
1988 | tw.forms python-toscawidgets |
1989 | +txLibravatar python-twisted-libravatar |
1990 | ubuntu_dev_tools ubuntu-dev-tools |
1991 | -ubuntu_sso_client ubuntu-sso-client |
1992 | ufw ufw |
1993 | unattended_upgrades unattended-upgrades |
1994 | -undertaker undertaker |
1995 | unittest_xml_reporting python-xmlrunner |
1996 | urlscan urlscan |
1997 | +vamos undertaker |
1998 | vboxapi virtualbox |
1999 | virtaal virtaal |
2000 | virtinst virtinst |
2001 | +virtualbricks virtualbricks |
2002 | virtualenvwrapper virtualenvwrapper |
2003 | wammu wammu |
2004 | web.py python-webpy |
2005 | +weboob python-weboob-core |
2006 | whyteboard whyteboard |
2007 | -wiican wiican |
2008 | wikipediafs wikipediafs |
2009 | winpdb winpdb |
2010 | -wxPython_common python-wxgtk2.6 |
2011 | +wxPython_common python-wxgtk2.8 |
2012 | +wxgeometrie wxgeometrie |
2013 | xgflib xgridfit |
2014 | xml_marshaller python-xmlmarshaller |
2015 | xmldiff xmldiff |
2016 | xmms2tray xmms2tray |
2017 | -xxdiff_scripts xxdiff-scripts |
2018 | yagtd yagtd |
2019 | yokadi yokadi |
2020 | yum_metadata_parser python-sqlitecachec |
2021 | zenmap zenmap |
2022 | zeroinstall_injector zeroinstall-injector |
2023 | -zhone zhone-illume-glue |
2024 | zim zim |
2025 | zinnia_python python-zinnia |
2026 | |
2027 | === modified file 'pydist/generate_fallback_list.py' |
2028 | --- pydist/generate_fallback_list.py 2011-10-06 00:22:16 +0000 |
2029 | +++ pydist/generate_fallback_list.py 2012-11-28 12:53:22 +0000 |
2030 | @@ -71,4 +71,7 @@ |
2031 | fp.write('python python\n') |
2032 | fp.write('setuptools python-pkg-resources\n') |
2033 | fp.write('wsgiref python (>= 2.5) | python-wsgiref\n') |
2034 | +fp.write('argparse python (>= 2.7) | python-argparse\n') |
2035 | +# wasn't recognized due to .pth file (egg-info is in PIL/ and not in *-packages/) |
2036 | +fp.write('pil python-imaging\n') |
2037 | fp.writelines(result) |
2038 | |
2039 | === modified file 'python2.pm' |
2040 | --- python2.pm 2010-06-17 23:47:08 +0000 |
2041 | +++ python2.pm 2012-11-28 12:53:22 +0000 |
2042 | @@ -5,7 +5,7 @@ |
2043 | use strict; |
2044 | use Debian::Debhelper::Dh_Lib; |
2045 | |
2046 | -insert_after("dh_perl", "dh_python2"); |
2047 | +insert_before("dh_installinit", "dh_python2"); |
2048 | remove_command("dh_pycentral"); |
2049 | remove_command("dh_pysupport"); |
2050 | |
2051 | |
2052 | === modified file 'tests/Makefile' |
2053 | --- tests/Makefile 2011-11-22 08:54:54 +0000 |
2054 | +++ tests/Makefile 2012-11-28 12:53:22 +0000 |
2055 | @@ -1,7 +1,7 @@ |
2056 | #!/usr/bin/make -f |
2057 | |
2058 | # enable or disable tests here: |
2059 | -TESTS := test1 test2 test3 test4 test5 test6 |
2060 | +TESTS := test1 test2 test3 test4 test5 test6 test7 |
2061 | |
2062 | all: $(TESTS) |
2063 | |
2064 | |
2065 | === added file 'tests/common.mk' |
2066 | --- tests/common.mk 1970-01-01 00:00:00 +0000 |
2067 | +++ tests/common.mk 2012-11-28 12:53:22 +0000 |
2068 | @@ -0,0 +1,12 @@ |
2069 | +#!/usr/bin/make -f |
2070 | + |
2071 | +export DEBPYTHON_DEFAULT ?= $(shell sed -rne 's,^default-version = python(.*),\1,p' ../../debian/debian_defaults) |
2072 | +export DEBPYTHON_SUPPORTED ?= $(shell sed -rne '/^supported-versions/{s/^supported-versions = (.*)/\1/g;s/python//g}' ../../debian/debian_defaults) |
2073 | + |
2074 | +all: run check |
2075 | + |
2076 | +run: clean |
2077 | + dpkg-buildpackage -b -us -uc |
2078 | + |
2079 | +clean-common: |
2080 | + ./debian/rules clean |
2081 | |
2082 | === modified file 'tests/t1/Makefile' |
2083 | --- tests/t1/Makefile 2011-09-27 18:21:42 +0000 |
2084 | +++ tests/t1/Makefile 2012-11-28 12:53:22 +0000 |
2085 | @@ -1,20 +1,16 @@ |
2086 | #!/usr/bin/make -f |
2087 | |
2088 | -all: run check |
2089 | - |
2090 | -DPY=$(shell PYTHONPATH=../../ python -c 'import debpython.version as v; print(v.vrepr(v.DEFAULT))') |
2091 | - |
2092 | -run: clean |
2093 | - dpkg-buildpackage -b -us -uc |
2094 | +include ../common.mk |
2095 | +DPY=$(DEBPYTHON_DEFAULT) |
2096 | |
2097 | check: |
2098 | grep -q "Depends: .*python-mako" debian/python-foo/DEBIAN/control |
2099 | + grep -q 'python-foo (>= 2:0.1~rc2)' debian/python-foo/DEBIAN/control |
2100 | test -f debian/python-foo/usr/lib/python2.6/dist-packages/foo/__init__.py |
2101 | test ! -f debian/python-foo/usr/lib/python2.6/dist-packages/foo/spam.py |
2102 | grep -q "Depends: .*python (<<" debian/python-foo/DEBIAN/control |
2103 | [ `readlink debian/python-foo/usr/lib/python$(DPY)/dist-packages/foo/absolute_link_to_tmp` = /tmp ] |
2104 | [ `readlink debian/python-foo/usr/lib/python$(DPY)/dist-packages/foo/link_to_parent_dir` = .. ] |
2105 | |
2106 | -clean: |
2107 | - ./debian/rules clean |
2108 | +clean: clean-common |
2109 | rm -rf lib/Foo.egg-info |
2110 | |
2111 | === modified file 'tests/t1/debian/pydist-overrides' |
2112 | --- tests/t1/debian/pydist-overrides 2010-09-12 18:41:04 +0000 |
2113 | +++ tests/t1/debian/pydist-overrides 2012-11-28 12:53:22 +0000 |
2114 | @@ -1,5 +1,5 @@ |
2115 | Mako python-mako (>= 0.2) |
2116 | SQLAlchemy python-sqlalchemy (>= 0.6) |
2117 | -Foo python-foo |
2118 | +Foo python-foo; PEP386 s/^/2:/ |
2119 | Bar python-bar |
2120 | Baz |
2121 | |
2122 | === modified file 'tests/t1/debian/rules' |
2123 | --- tests/t1/debian/rules 2011-09-27 18:21:42 +0000 |
2124 | +++ tests/t1/debian/rules 2012-11-28 12:53:22 +0000 |
2125 | @@ -12,5 +12,5 @@ |
2126 | DH_VERBOSE=1 ../../dh_python2\ |
2127 | --depends 'SQLAlchemy >= 0.6.1'\ |
2128 | --recommends Mako\ |
2129 | - --suggests 'Foo >= 0.1'\ |
2130 | + --suggests 'Foo >= 0.1rc2'\ |
2131 | --suggests 'bar >= 1.0' |
2132 | |
2133 | === modified file 'tests/t2/Makefile' |
2134 | --- tests/t2/Makefile 2011-03-21 10:22:06 +0000 |
2135 | +++ tests/t2/Makefile 2012-11-28 12:53:22 +0000 |
2136 | @@ -1,16 +1,10 @@ |
2137 | #!/usr/bin/make -f |
2138 | |
2139 | -all: run check |
2140 | - |
2141 | - |
2142 | -run: clean |
2143 | - dpkg-buildpackage -b -us -uc |
2144 | +include ../common.mk |
2145 | +clean: clean-common |
2146 | |
2147 | check: |
2148 | test -f debian/python-foo/usr/lib/python2.6/dist-packages/foo.py |
2149 | test -f debian/python-foo/usr/lib/python2.6/dist-packages/bar/bar.py |
2150 | grep -q pycompile debian/python-foo/DEBIAN/postinst |
2151 | grep -q pyclean debian/python-foo/DEBIAN/prerm |
2152 | - |
2153 | -clean: |
2154 | - ./debian/rules clean |
2155 | |
2156 | === modified file 'tests/t3/Makefile' |
2157 | --- tests/t3/Makefile 2011-10-06 00:22:16 +0000 |
2158 | +++ tests/t3/Makefile 2012-11-28 12:53:22 +0000 |
2159 | @@ -1,11 +1,7 @@ |
2160 | #!/usr/bin/make -f |
2161 | |
2162 | -all: run check |
2163 | - |
2164 | -DPY=$(shell PYTHONPATH=../../ python -c 'import debpython.version as v; print(v.vrepr(v.DEFAULT))') |
2165 | - |
2166 | -run: clean |
2167 | - dpkg-buildpackage -b -us -uc |
2168 | +include ../common.mk |
2169 | +DPY=$(DEBPYTHON_DEFAULT) |
2170 | |
2171 | check: |
2172 | grep -q "pycompile -p python-foo /usr/lib/python-foo -V $(DPY)"\ |
2173 | @@ -17,7 +13,10 @@ |
2174 | test -f debian/python-foo/usr/lib/python${DPY}/dist-packages/foo/baz.so |
2175 | test ! -f debian/python-foo/usr/lib/python${DPY}/dist-packages/foo/baz.so.0.1 |
2176 | test ! -f debian/python-foo/usr/lib/python${DPY}/dist-packages/foo/baz.so.0.1.2 |
2177 | + test -f debian/python-foo/usr/lib/python${DPY}/dist-packages/foo/quux.so |
2178 | + test ! -f debian/python-foo/usr/lib/python${DPY}/dist-packages/foo/quux.so.0 |
2179 | + test ! -L debian/python-foo/usr/lib/python${DPY}/dist-packages/foo/quux.so.0 |
2180 | + test ! -f debian/python-foo/usr/lib/python${DPY}/dist-packages/foo/quux.so.0.0.0 |
2181 | |
2182 | -clean: |
2183 | - ./debian/rules clean |
2184 | +clean: clean-common |
2185 | rm -rf lib/Foo.egg-info build |
2186 | |
2187 | === modified file 'tests/t3/debian/rules' |
2188 | --- tests/t3/debian/rules 2011-10-06 00:22:16 +0000 |
2189 | +++ tests/t3/debian/rules 2012-11-28 12:53:22 +0000 |
2190 | @@ -19,4 +19,12 @@ |
2191 | /usr/lib/python${DPY}/dist-packages/foo/baz.so.0.1 |
2192 | dh_link /usr/lib/python${DPY}/dist-packages/foo/baz.so.0.1 \ |
2193 | /usr/lib/python${DPY}/dist-packages/foo/baz.so |
2194 | + # ... second style of multiple symlinks |
2195 | + cp debian/python-foo/usr/lib/python${DPY}/dist-packages/foo/bar.so \ |
2196 | + debian/python-foo/usr/lib/python${DPY}/dist-packages/foo/quux.so.0.0.0 |
2197 | + dh_link /usr/lib/python${DPY}/dist-packages/foo/quux.so.0.0.0 \ |
2198 | + /usr/lib/python${DPY}/dist-packages/foo/quux.so.0 |
2199 | + dh_link /usr/lib/python${DPY}/dist-packages/foo/quux.so.0.0.0 \ |
2200 | + /usr/lib/python${DPY}/dist-packages/foo/quux.so |
2201 | + # ... and complex multiple symlinks |
2202 | DH_VERBOSE=1 ../../dh_python2 |
2203 | |
2204 | === modified file 'tests/t4/Makefile' |
2205 | --- tests/t4/Makefile 2011-09-27 18:21:42 +0000 |
2206 | +++ tests/t4/Makefile 2012-11-28 12:53:22 +0000 |
2207 | @@ -1,10 +1,7 @@ |
2208 | #!/usr/bin/make -f |
2209 | |
2210 | -all: run check |
2211 | - |
2212 | - |
2213 | -run: clean |
2214 | - dpkg-buildpackage -b -us -uc |
2215 | +include ../common.mk |
2216 | +clean: clean-common |
2217 | |
2218 | check: |
2219 | grep -q python2.6 debian/foo/usr/share/foo/foo.py |
2220 | @@ -14,6 +11,3 @@ |
2221 | grep -q python2.4 debian/foo/usr/share/foo/baz.py |
2222 | test ! -x debian/foo/usr/share/foo/baz.py |
2223 | grep -q Depends:.*python2.4 debian/foo/DEBIAN/control && false || true |
2224 | - |
2225 | -clean: |
2226 | - ./debian/rules clean |
2227 | |
2228 | === modified file 'tests/t5/Makefile' |
2229 | --- tests/t5/Makefile 2011-04-15 00:04:07 +0000 |
2230 | +++ tests/t5/Makefile 2012-11-28 12:53:22 +0000 |
2231 | @@ -1,10 +1,7 @@ |
2232 | #!/usr/bin/make -f |
2233 | |
2234 | -all: run check |
2235 | - |
2236 | - |
2237 | -run: clean |
2238 | - dpkg-buildpackage -b -us -uc |
2239 | +include ../common.mk |
2240 | +clean: clean-common |
2241 | |
2242 | check: |
2243 | # test dh_python2 |
2244 | @@ -29,6 +26,3 @@ |
2245 | do [ `ls debian/python-foo/usr/lib/python2.*/*-packages/$$i/__init__.py 2>/dev/null || true | wc -l` = 0 ];\ |
2246 | [ `ls debian/python-foo/usr/lib/python2.*/*-packages/$$i/__init__.pyc 2>/dev/null || true | wc -l` = 0 ];\ |
2247 | done |
2248 | - |
2249 | -clean: |
2250 | - ./debian/rules clean |
2251 | |
2252 | === modified file 'tests/t6/Makefile' |
2253 | --- tests/t6/Makefile 2011-11-22 08:54:54 +0000 |
2254 | +++ tests/t6/Makefile 2012-11-28 12:53:22 +0000 |
2255 | @@ -1,10 +1,7 @@ |
2256 | #!/usr/bin/make -f |
2257 | |
2258 | -all: run check |
2259 | - |
2260 | - |
2261 | -run: clean |
2262 | - dpkg-buildpackage -b -us -uc |
2263 | +include ../common.mk |
2264 | +clean: clean-common |
2265 | |
2266 | check: |
2267 | # python2.4 hardcoded via `dh_python2 -V 2.4` |
2268 | @@ -19,6 +16,3 @@ |
2269 | grep -q Depends:.*python2.6 debian/foo/DEBIAN/control |
2270 | grep -q '\-V 2.6 /usr/share/foo' debian/foo/usr/share/python/runtime.d/foo.rtupdate |
2271 | grep -q '/usr/share/foo \-V 2.6' debian/foo/DEBIAN/postinst |
2272 | - |
2273 | -clean: |
2274 | - ./debian/rules clean |
2275 | |
2276 | === modified file 'tests/t6/bar.py' (properties changed: -x to +x) |
2277 | === modified file 'tests/t6/foo.py' (properties changed: -x to +x) |
2278 | === added directory 'tests/t7' |
2279 | === added file 'tests/t7/Makefile' |
2280 | --- tests/t7/Makefile 1970-01-01 00:00:00 +0000 |
2281 | +++ tests/t7/Makefile 2012-11-28 12:53:22 +0000 |
2282 | @@ -0,0 +1,18 @@ |
2283 | +#!/usr/bin/make -f |
2284 | + |
2285 | +include ../common.mk |
2286 | +clean: clean-common |
2287 | + |
2288 | +check: |
2289 | + # python2.4 hardcoded via `dh_python2 -shebang ...python2.4` |
2290 | + grep -q '\-V 2.4 /usr/share/baz24' debian/foo/usr/share/python/runtime.d/foo.rtupdate |
2291 | + grep -q '/usr/share/baz24 \-V 2.4' debian/foo/DEBIAN/postinst |
2292 | + grep -q '#! /usr/bin/python2.4 -OO' debian/foo/usr/share/baz24/baz.py |
2293 | + # python2.6 hardcoded via shebang |
2294 | + grep -q '\-V 2.6 /usr/share/foo' debian/foo/usr/share/python/runtime.d/foo.rtupdate |
2295 | + grep -q '/usr/share/foo \-V 2.6' debian/foo/DEBIAN/postinst |
2296 | + # /env removed from shebang |
2297 | + grep -q '#! /usr/bin/python' debian/foo/usr/share/bar/bar.py |
2298 | + # /local removed from shebang |
2299 | + grep -q '#! /usr/bin/python' debian/foo/usr/share/foo/baz.py |
2300 | + grep -q '#! /usr/bin/python2.6' debian/foo/usr/share/foo/foo.py |
2301 | |
2302 | === added file 'tests/t7/bar.py' |
2303 | --- tests/t7/bar.py 1970-01-01 00:00:00 +0000 |
2304 | +++ tests/t7/bar.py 2012-11-28 12:53:22 +0000 |
2305 | @@ -0,0 +1,2 @@ |
2306 | +#!/usr/bin/env python |
2307 | +"env in shebang" |
2308 | |
2309 | === added file 'tests/t7/baz.py' |
2310 | --- tests/t7/baz.py 1970-01-01 00:00:00 +0000 |
2311 | +++ tests/t7/baz.py 2012-11-28 12:53:22 +0000 |
2312 | @@ -0,0 +1,2 @@ |
2313 | +#!/usr/local/bin/python |
2314 | +"/usr/local in shebang" |
2315 | |
2316 | === added directory 'tests/t7/debian' |
2317 | === added file 'tests/t7/debian/changelog' |
2318 | --- tests/t7/debian/changelog 1970-01-01 00:00:00 +0000 |
2319 | +++ tests/t7/debian/changelog 2012-11-28 12:53:22 +0000 |
2320 | @@ -0,0 +1,5 @@ |
2321 | +foo (1.0) unstable; urgency=low |
2322 | + |
2323 | + * Initial release |
2324 | + |
2325 | + -- Piotr Ożarowski <piotr@debian.org> Sun, 10 Jun 2012 14:09:45 +0200 |
2326 | |
2327 | === added file 'tests/t7/debian/compat' |
2328 | --- tests/t7/debian/compat 1970-01-01 00:00:00 +0000 |
2329 | +++ tests/t7/debian/compat 2012-11-28 12:53:22 +0000 |
2330 | @@ -0,0 +1,1 @@ |
2331 | +8 |
2332 | |
2333 | === added file 'tests/t7/debian/control' |
2334 | --- tests/t7/debian/control 1970-01-01 00:00:00 +0000 |
2335 | +++ tests/t7/debian/control 2012-11-28 12:53:22 +0000 |
2336 | @@ -0,0 +1,13 @@ |
2337 | +Source: foo |
2338 | +Section: misc |
2339 | +Priority: optional |
2340 | +Maintainer: Piotr Ożarowski <piotr@debian.org> |
2341 | +Build-Depends: debhelper (>= 7.0.50~) |
2342 | +Build-Depends-Indep: python |
2343 | +Standards-Version: 3.9.3 |
2344 | + |
2345 | +Package: foo |
2346 | +Architecture: all |
2347 | +Depends: ${python:Depends}, ${misc:Depends} |
2348 | +Description: example 7 - shebangs |
2349 | + exemple package #7 - shebang related tests |
2350 | |
2351 | === added file 'tests/t7/debian/copyright' |
2352 | --- tests/t7/debian/copyright 1970-01-01 00:00:00 +0000 |
2353 | +++ tests/t7/debian/copyright 2012-11-28 12:53:22 +0000 |
2354 | @@ -0,0 +1,2 @@ |
2355 | +The Debian packaging is © 2012, Piotr Ożarowski <piotr@debian.org> and |
2356 | +is licensed under the MIT License. |
2357 | |
2358 | === added file 'tests/t7/debian/install' |
2359 | --- tests/t7/debian/install 1970-01-01 00:00:00 +0000 |
2360 | +++ tests/t7/debian/install 2012-11-28 12:53:22 +0000 |
2361 | @@ -0,0 +1,7 @@ |
2362 | +foo.py /usr/share/foo/ |
2363 | +baz.py /usr/share/foo/ |
2364 | +spam.py /usr/share/foo/ |
2365 | +bar.py /usr/share/bar/ |
2366 | +spam.py /usr/share/bar/ |
2367 | +baz.py /usr/share/baz24/ |
2368 | +spam.py /usr/share/baz24/ |
2369 | |
2370 | === added file 'tests/t7/debian/rules' |
2371 | --- tests/t7/debian/rules 1970-01-01 00:00:00 +0000 |
2372 | +++ tests/t7/debian/rules 2012-11-28 12:53:22 +0000 |
2373 | @@ -0,0 +1,11 @@ |
2374 | +#!/usr/bin/make -f |
2375 | +%: |
2376 | + dh $@ --buildsystem=python_distutils |
2377 | + |
2378 | +override_dh_pysupport: |
2379 | + DH_VERBOSE=1 ../../dh_python2 |
2380 | + DH_VERBOSE=1 ../../dh_python2 /usr/share/bar |
2381 | + DH_VERBOSE=1 ../../dh_python2 /usr/share/baz24 --shebang '/usr/bin/python2.4 -OO' |
2382 | + |
2383 | +clean: |
2384 | + dh_clean |
2385 | |
2386 | === added directory 'tests/t7/debian/source' |
2387 | === added file 'tests/t7/debian/source/format' |
2388 | --- tests/t7/debian/source/format 1970-01-01 00:00:00 +0000 |
2389 | +++ tests/t7/debian/source/format 2012-11-28 12:53:22 +0000 |
2390 | @@ -0,0 +1,1 @@ |
2391 | +3.0 (native) |
2392 | |
2393 | === added file 'tests/t7/foo.py' |
2394 | --- tests/t7/foo.py 1970-01-01 00:00:00 +0000 |
2395 | +++ tests/t7/foo.py 2012-11-28 12:53:22 +0000 |
2396 | @@ -0,0 +1,2 @@ |
2397 | +#!/usr/local/bin/python2.6 |
2398 | +"/usr/local/bin/python2.6 hardcoded in shebang" |
2399 | |
2400 | === added file 'tests/t7/setup.py' |
2401 | === added file 'tests/t7/spam.py' |
2402 | --- tests/t7/spam.py 1970-01-01 00:00:00 +0000 |
2403 | +++ tests/t7/spam.py 2012-11-28 12:53:22 +0000 |
2404 | @@ -0,0 +1,1 @@ |
2405 | +print('spam') |
I'm not able to do a full review at the moment, but one thing jumped out at me.
On Oct 24, 2012, at 02:28 PM, Dmitry Shachnev wrote:
>The proposal to merge lp:~mitya57/ubuntu/raring/python-defaults/resync into lp:ubuntu/python-defaults has been updated.
>
>Description changed to:
>
>python-defaults (2.7.3-3ubuntu1) raring-proposed; urgency=low
>
> * Resynchronize with Debian unstable, remaining Ubuntu changes:
> - Build depend on lsb-release.
> - Ignore vesion check.
s/vesion/version/
> - Drop python2.6 support.
> - Provide Python pkgconfig defaults.
> - Re-add the python2 and python2-config symlinks, formerly present
> in the python2.7 packages.
> - Build dependency packages as architecture dependent packages again.
> - Move idle.xpm into the idle package.
> - Remove Essential flag from python-minimal.
> * debian/rules: in binary-arch section, use -a argument for dh_* commands.
>
> -- Dmitry Shachnev <email address hidden> Wed, 24 Oct 2012 18:14:31 +0400