We have functional python2.6 in experimental since few days (python-support in
experimental has 2.6 in supported versions as well, BTW) and (future) 2.6
transition will require some changes (other than checking compatibility with
new Python version or building new extensions) in debian/ directory so
I'll just list them here (instead of repeating myself in RFS replies).
* python2.6 is using dist-packages instead of site-packages and it installs to
/usr/local by default:
+ add "--install-layout=deb" option to setup.py call in debian/rules (or
py_setup_install_args from python.mk, see below).
Note that you can do it now, no need to wait for python2.6 to hit unstable
or be added to supported versions)
+ if you'll use above option, remember to bump minimum required
python{,-all,all-dev,2.4,2.5} version:
for python{,-all,all-dev} use: (>= 2.5.4-1~)
for python2.4: (>= 2.4.6-2~exp1)
for python2.5: (>= 2.5.3-1~exp1)
* if you need to change something in {site,dist}-packages after setup.py call
(remember to *never* change these files after dh_py{support,central} command!):
+ include /usr/share/python/python.mk at the top of debian/rules
+ for default Python veresion, use:
package_dir/$(call py_libdir,$(shell pyversions -d))/yourmodule/files
as a path (which will be used by mv/rm/sed/etc.)
+ for any other version use:
package_dir/$(call py_libdir,$version)/yourmodule/files
+ bump minimum required python{,-all,-all-dev} version to: >= 2.5.4-1~
* if your package generates docs using Sphinx: in python-sphinx 0.6-1 (which I
will upload to unstable this week) all themes (including .js and .css files)
will be available in /usr/share/sphinx directory (if you're symlinking
some files from python-sphinx package, you'll not need to use
{site,dist,pymodules,pyshared} directory anymore)
* I will no longer sponsor packages with "current" keyword in XS-Python-Version
[Joss: if you're reading this email, please skip next 2 lines]
Note that you can use XS-Python-Version in pysupport based packages as well,
and I prefer it over ugly pyversions, BTW.
If your package really needs "current" keyword, please let me know and we'll
do something about it (just like I took away the "but my package is using the
same namespace as another python-central based package and thus I cannot
convert to python-support" argument from one of my sponsorees recently)
* a propos "current", if you're packaging Python application, try to install
its modules in private directory (--install-lib=/usr/share/foo) if these
modules are not useful outside the app. (and thus there's no need to pollute
the global namespace)
Note that (if there's no name conflict[1]) you can also use
--install-scripts=/usr/share/foo for binary scripts and then
dh_link usr/share/foo/bar.py usr/bin/baz
(otherwise you'll have to patch the binary to change sys.path)
[1] if there is, just rename the binary in private directory and then symlink
it to /usr/bin/ as in above example
Few other hints for people converting to python-support:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* if you don't rename egg-info directory anymore im debian/rules (don't delete
this directory, it's a compromise to make Egg lovers happy ;) remember to
have at least python-support (>= 0.6.4) in Depends(-Indep)
* python-central is partially fixed in 0.6.10 so most of the packages don't
need preinst maintainer script, remember to test the upgrade of your
package from previous version *and* from the one in Lenny, though.
Make sure there are no leftovers in
/usr/lib/python2.{4,5}/site-packages/yourmodule - specially if the list
of files provided by your package changed from one pycentral based
package to another pycentral based one or if you used "nomove" at some point
For DPMT / PAPT members:
^^^^^^^^^^^^^^^^^^^^^^^^
* for NEW packages try to use TODO wiki pages as other DDs are crying that I'm
stealing all the sponsorees ;-) (all other packages can go directly to
my Debian/RFS mailbox, as usual)
http://wiki.debian.org/Teams/PythonModulesTeam/TODO
http://wiki.debian.org/Teams/PythonAppsPackagingTeam/TODO
* Please don't send me mails with multiple RFSs in one mail - use one
mail per package (the Subject header is most important, mail content can be
empty), see my FAQ (link in the signature) for more details
--
http://people.debian.org/~piotr/sponsor
Attachment:
pgpG0HuMZbu3I.pgp
Description: PGP signature