Re: python-central vs python-support

2006-06-05 Thread Raphael Hertzog
On Sun, 04 Jun 2006, Matthias Klose wrote:
> >  - python2.x-* packages -- are they needed? desirable?
> >Steve and Matthias gave different answers, and if they're present
> >migrations end up just as fragile as they are now.
> 
> No, not different answers. They may be needed, if an extension get's
> too big to be included in one package, or if the maintainer of the
> package does not want to package it that way. The consequence is that

If we change policy, then all packages should follow it. I don't think we
have discussed the possibility to let real python2.X-foo packages exist
any longer. Any such package will create some complicated dependency
handling that we want to avoid.

> every module or extension depending directly or indirectly on it must
> be packages using the python2.x-* schema or else the dependencies are
> broken for non-default python versions.

That's precisely why we don't want to have real python2.x-foo packages.
:-)

However the Provides: python2.X-foo are not a problem.

> > This IMO is the most important part. It's here, and we're using it.
> > python-central has "right arond the corner" for months. Many modules are
> > already using -support, and it integrates very easily with any project
> > using distutils. With proper debhelper integration it would be even
> > simpler.
> 
> it's incomplete, doesn't support extension modules, and the author did
> already refuse to support these, stating that this would be too
> complicated.  No status change in the last months. 

Sorry I don't see how python-central "supports" extension modules. I
looked your python-imaging examples and you just put .so files in
/usr/lib/python2.X/ ... python-central is not involved there.

python-central is apparently only needed to bytecompile .py just like
python-support. The rest is dh_python / dh_pycentral stuff which is not
really related.

Please tell us precisely what python-support should do to match your
expectations.

> I'm going to upload python-central to unstable tomorrow, including a
> dh_pycentral debhelper, which could be included in debhelper as
> dh_python as well.

Would you add the required shell snippet to support python-support
directly into the python runtime (just like you added the "pycentral
rtinstall [EMAIL PROTECTED]@-minimal" in python2.4-minimal's postinst) if 
someone
provided it to you ?

Cheers,
-- 
Raphaël Hertzog

Premier livre français sur Debian GNU/Linux :
http://www.ouaza.com/livre/admin-debian/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: python-central vs python-support

2006-06-05 Thread Raphael Hertzog
On Sun, 04 Jun 2006, Joe Wreschnig wrote:
> policy is. So here's *my* attempt at summarizing the BoF, based on your
> first mail and responses, and independent of the tools used:
> 
> 1) Public modules and extensions should support all available Python
> versions, using a single binary package.
> 
> 2) A new control field, XC-Python-Version will be used to determine what
> versions of Python a module supports.
> 
> 3) The tight upper bound on module dependencies will be removed,
> provided the module actually works on future versions of Python. The
> upper bound on extension dependencies will not, because then they
> wouldn't work.
> 
> 4) python2.x-* virtual packages are to be used only when necessary, but
> packages can provide them regardless.
> 
> 5) Private modules and applications should use some way to support more
> than one Python version, if possible.
> 
> Is this accurate? 1), 3), and 4) contridict your original email, but
> match what you told me this time.

Yes, this is a good summary IMO, however I don't remember if we discussed
point 5.

> 4) I am still unsure of, because Steve and Matthias gave different
> answers, and your answer is confusing -- if they're desirable, let's
> make them required; if not, let's not pollute the (virtual) package
> namespace unless we need them for a specific reason.

The reason exists, those virtual packages are needed to properly express
dependencies of an application which uses a non-current python version.
However very few apps are in that case so we said that we might only add
the provides on the few modules which are really concerned.

> 2) is suspect. It's not required for multiversion support *in policy*.
> The working python-support implementation in unstable, while still
> lacking such fields, proves that. I feel it's much more of an
> implementation issue than a policy one, and so if we don't use
> python-central (which I gather is the impetus for it), we shouldn't
> bother with the control field either.

Right. However Steve agreed that having this information in Packages.gz
file would ease extraction of lists of packages which have to be bin-NMUed
for a python transition.

I had the same reservation than you on this issue. But on the other hand it
doesn't hurt much to require that field if we have the required support in
dh_python.

Cheers,
-- 
Raphaël Hertzog

Premier livre français sur Debian GNU/Linux :
http://www.ouaza.com/livre/admin-debian/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Fwd: RFS: python-musicbrainz2

2006-06-05 Thread Lukáš Lalinský
Hi,

I initially sent this e-mail only to [EMAIL PROTECTED], but then I realized
that it's more likely to find a sponsor for a Python module here.

 Original Message 
Subject: RFS: python-musicbrainz2
Resent-Date: Sun,  4 Jun 2006 08:15:12 -0500 (CDT)
Resent-From: debian-mentors@lists.debian.org
Date: Sun, 04 Jun 2006 15:17:37 +0200
From: Lukáš Lalinský <[EMAIL PROTECTED]>
Newsgroups: gmane.linux.debian.devel.mentors

Hi,

I'm looking for a sponsor for python-musicbrainz2 package. python-musicbrainz2
is a client library, written in Python, for accessing MusicBrainz data using the
new MB XML web service. It's released under BSD license.

The package itself is using cdbs, I tried to keep debian/rules as simple as
possible. It's linda and lintian clean.

ITP bug report:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=370255

And the package files:

http://users.musicbrainz.org/~luks/ubuntu/dists/sid/main/source/python-musicbrainz2_0.3.1-1.diff.gz
http://users.musicbrainz.org/~luks/ubuntu/dists/sid/main/source/python-musicbrainz2_0.3.1-1.dsc
http://users.musicbrainz.org/~luks/ubuntu/dists/sid/main/source/python-musicbrainz2_0.3.1.orig.tar.gz

Thanks.

-- 
Lukáš Lalinský


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: python-central vs python-support

2006-06-05 Thread Duck
Steve Langasek <[EMAIL PROTECTED]> writes:

> No.  An extension has to be separately *compiled* for each python version
> it's to support.  A python-foo package containing
> /usr/lib/python2.3/site-packages/foo/foo.so and
> /usr/lib/python2.4/site-packages/foo/foo.so must not claim to be compatible
> with python (>= 2.5).

I'm not that silly...

> However, it *should* be possible to provide a toolchain such that this
> python-foo can be binNMUed when python-2.5 becomes available and
> automatically pick up support for it.

That's what i suggested in other words. If we can rely on python-all (or
any other mean to get the list of supported versions), and as we already
have the list of package-specific supported versions (via .version in
python-support for example), so that every version is compiled without
having to care to provide the list of versions manually, so
transitioning becomes seamless. CDBS could be enhanced to generate all
the necessary rules, so managing python packages would be painless.

So, that's my idea, willing to automatize all complicated build rules,
and remove the upper boundaries in dependencies, which would be rendered
useless by intelligent binNMUs. So ok, this is quite some work, but this
could be done on time. Transitioning scripts-only packages has already
begun and can be accelerated while we work on the scripts for compiled
modules, so only minor dependency updates would have to be done.

-- 
Marc Dequènes (Duck)


pgpKtPuZ0Qt57.pgp
Description: PGP signature


Re: python-central vs python-support

2006-06-05 Thread Duck

Of course, i'd be glad to help concretly. I'm not a Python expert, but i
could help on the CDBS front, and test solutions (like i did with Joss
for python-support recently), and provide some valuable documentation
(even if the CDBS documentation forked, i'm still updating the original
version regulary).

-- 
Marc Dequènes (Duck)


pgpo1khgDA37J.pgp
Description: PGP signature


Re: python-central vs python-support

2006-06-05 Thread Steve Langasek
On Mon, Jun 05, 2006 at 02:23:45PM +0200, Marc Dequènes wrote:

> So, that's my idea, willing to automatize all complicated build rules,
> and remove the upper boundaries in dependencies, which would be rendered
> useless by intelligent binNMUs.

Er, I guess you do understand since you agreed with my previous mail, but
just to be clear, I'm going to spell it out to make sure everyone is on the
same page:

- An Arch: any python-foo extension package must depend on
  python (>= $minver), python (<< $maxver+1), where $minver is the earliest
  python ABI that it includes a compiled extension for and $maxver is the
  latest python ABI that it includes a compiled extension for.
- These $minver and $maxver values should not be hard-coded in
  debian/control; they should be automatically populated via a substvar
  that's set by the same tool that knows how to handle doing the multiple
  binary builds (if required).
- binNMUing such a package becomes possible to change either $minver or
  $maxver as needed without any requirement of source edits.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
[EMAIL PROTECTED]   http://www.debian.org/


signature.asc
Description: Digital signature


Re: python-central vs python-support

2006-06-05 Thread Joe Wreschnig
On Mon, 2006-06-05 at 14:23 +0200, Marc Dequènes wrote:
> Steve Langasek <[EMAIL PROTECTED]> writes:
> 
> > No.  An extension has to be separately *compiled* for each python version
> > it's to support.  A python-foo package containing
> > /usr/lib/python2.3/site-packages/foo/foo.so and
> > /usr/lib/python2.4/site-packages/foo/foo.so must not claim to be compatible
> > with python (>= 2.5).
> 
> I'm not that silly...
> 
> > However, it *should* be possible to provide a toolchain such that this
> > python-foo can be binNMUed when python-2.5 becomes available and
> > automatically pick up support for it.
> 
> That's what i suggested in other words. If we can rely on python-all (or
> any other mean to get the list of supported versions), and as we already
> have the list of package-specific supported versions (via .version in
> python-support for example), so that every version is compiled without
> having to care to provide the list of versions manually, so
> transitioning becomes seamless. CDBS could be enhanced to generate all
> the necessary rules, so managing python packages would be painless.

CDBS is not necessary; look at python-gst0.10's packaging. The versions
it's built for is controlled entirely via a single Make variable, and it
uses regular debhelper. This could be further refined to find all
installed versions of Python at build time, and simplified because
everything would be in the same binary package (so it wouldn't be
limited by debian/control).

New tools aren't needed to make binNMUs easier, though they can do that
too. A few policy changes (mostly what I outlined in my last mail) would
be enough to do that with existing tools and minimal trouble. New tools
are mostly needed to prevent rebuilding at all (by fixing
byte-compilation issues).
-- 
Joe Wreschnig <[EMAIL PROTECTED]>


signature.asc
Description: This is a digitally signed message part


Re: python-central vs python-support

2006-06-05 Thread Duck
Steve Langasek <[EMAIL PROTECTED]> writes:

> - An Arch: any python-foo extension package must depend on
>   python (>= $minver), python (<< $maxver+1), where $minver is the earliest
>   python ABI that it includes a compiled extension for and $maxver is the
>   latest python ABI that it includes a compiled extension for.
> - These $minver and $maxver values should not be hard-coded in
>   debian/control; they should be automatically populated via a substvar
>   that's set by the same tool that knows how to handle doing the multiple
>   binary builds (if required).
> - binNMUing such a package becomes possible to change either $minver or
>   $maxver as needed without any requirement of source edits.

I'm fine with this. Generation of boundaries virtually removes
boundaries (meaning no arbitrary boundaries remains).

:-)

-- 
Marc Dequènes (Duck)


pgp4nk3doVsTC.pgp
Description: PGP signature


Re: python-central vs python-support

2006-06-05 Thread Duck
Joe Wreschnig <[EMAIL PROTECTED]> writes:

> CDBS is not necessary; look at python-gst0.10's packaging. The versions
> it's built for is controlled entirely via a single Make variable, and it
> uses regular debhelper. This could be further refined to find all
> installed versions of Python at build time, and simplified because
> everything would be in the same binary package (so it wouldn't be
> limited by debian/control).

I never said CDBS's use should be enforced in the policy. But this tool
is used more and more, and even people in QA (which were mostly
reluctant to accept it) must agree this helped improving quality (see
how few people in the GNOME Team manage so many packages and transitions
more efficiently).

This said, CDBS is not The Final Packagingsystem, but could be eXtended
(;-) so as to provide a well tested class for the so many people already
using it. python-gst0.10 could be a good example, thanks for the advice.

> New tools aren't needed to make binNMUs easier, though they can do that
> too. A few policy changes (mostly what I outlined in my last mail) would
> be enough to do that with existing tools and minimal trouble.

I do agree, it is not necessary ; but would you object if continue using
it because i feel confortable with ? I see no problem in advertising
tools, as soon as nobody is obliged to use it.

> New tools
> are mostly needed to prevent rebuilding at all (by fixing
> byte-compilation issues).

That's _not_ true. CDBS is merely a collection of scriptlets and
associated rules over debhelper, itself a collection of scriptlets,
both providing well tested solutions to common problems. It is not just
a matter of rebuilding, but a matter of diminishing maintainer's silly
parts of the job and improving overhaul quality. In a certain ancient
time debhelper was uncommonly used and badly critized, with people even
rejecting to try it, now came the same time for CDBS...


This is coming quite out of topic. I just suggested to help providing a
class for people using this tool, *no more*.

-- 
Marc Dequènes (Duck)


pgp8qoP61sZYW.pgp
Description: PGP signature


Re: python-central vs python-support

2006-06-05 Thread Matthias Klose
> > s/available/supported/. we will try to keep the number of supported
> > python versions/implementations minimal.
> 
> Is there difference between available and supported versions ? What use
> for an official python package if it is not supported ?

assume we want to add a python2.5 package. It's nice to have, but
extensions will need an update, or they will FTBFS. At this point I
would rather not see python2.5 as supported.

> > Plus XS-Python-Version, from which XC-Python-Version is generated from.
> 
> Why is this necessary ? You said you plan on having a dh_pycentral
> script, why can't this one do the job automagically ? Why having the XC-
> remain in package information then ?

The 'Provides: python2.3-foo, python2.4-foo' is missing for all
packages with private modules and scripts (without shared modules).
For that case we do need XB-Python-Version.  If we do want to drop the
Provides for packages where they are not needed, we need it for shared
modules as well.

> >> 3) The tight upper bound on module dependencies will be removed,
> >> provided the module actually works on future versions of Python. The
> >> upper bound on extension dependencies will not, because then they
> >> wouldn't work.
> 
> I don't see any reason to keep this boundary, really, as you plan to use
> binNMUs on transitions. Either the extension does not work on a newly
> uploaded python version after being binNMU-ed, then this is a bug (not
> grave), or you use a boundary for an extension which would have worked
> perfectly and this is a bug too. As this is of the same severity, i
> would rather have to consider a bug for an upstream lack of support for
> a new version rather than for my extensions because of fear.

this kind of dependency doesn't hurt, if the extensions are available
for the two versions used in the transition.

> >> 4) python2.x-* virtual packages are to be used only when necessary, but
> >> packages can provide them regardless.
> >
> > you don't know in advance, if they are necessary. Not a problem, if
> > they are generated.
> 
> Yes i agree. But what a pollution. Now when Ruby and other langages would
> do the same, i'd like to know how long apt would be...

does apt takes a performance hit with unused provides? Well, really,
just stop adding new packages to unstable has the same effect ;)

> >> 2) is suspect. It's not required for multiversion support *in policy*.
> >> The working python-support implementation in unstable, while still
> >> lacking such fields, proves that. I feel it's much more of an
> >> implementation issue than a policy one, and so if we don't use
> >> python-central (which I gather is the impetus for it), we shouldn't
> >> bother with the control field either.
> >
> > we agreed to use this information so that you can decide on package
> > rebuilds based on the Sources and Packages files. See my slides from
> > Debconf.
> 
> Where are those slides ?

http://people.debian.org/~doko/pycentral/

> Should we be aware where your things are stored ?

yes, see http://lists.debian.org/debian-python/2006/05/msg00062.html

> Don't you think this new field and Provides are redondant, and that you
> could decide which rebuilds are necessary from it ?

no, not for packages with private extensions.

  Matthias


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: python-central bug

2006-06-05 Thread Matthias Klose
Piotr Ozarowski writes:
> I have just finished my first python-support based package[1] and I think I
> have found a bug: after running post install command:
> 
>  # pycentral pkginstall python-enchant
> 
> I'm getting this:
> | /usr/bin/python2.3: can't open file '/usr/sbin/py_compilefiles'

thanks, fixed for the next upload.

> BTW: I have followed python-imaging package example and installed 
> C sources to /usr/include/python2.X/package/ directories. Is it obligatory
> to include them? python-central seems to not use them and I don't see a
> reason to include them, specially duplicating that files for every python
> version

python-central doesn't touch the header files. I would consider the
header files as version specific. have one header be generated and
including the python version ...

  Matthias


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]