Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.python > #10086 > unrolled thread

Re: Next python-mote pre-condition - issue with pybuild: python-backports.tempfile conflicting python-backports.weakref

Started bypeter green <plugwash@p10link.net>
First post2018-01-25 19:00 +0100
Last post2018-01-26 10:10 +0100
Articles 3 — 3 participants

Back to article view | Back to linux.debian.maint.python


Contents

  Re: Next python-mote pre-condition - issue with pybuild:  python-backports.tempfile conflicting python-backports.weakref peter green <plugwash@p10link.net> - 2018-01-25 19:00 +0100
    Re: Next python-mote pre-condition - issue with pybuild:  python-backports.tempfile conflicting python-backports.weakref Simon McVittie <smcv@debian.org> - 2018-01-26 01:50 +0100
      Re: Next python-mote pre-condition - issue with pybuild:  python-backports.tempfile conflicting python-backports.weakref Piotr Ożarowski <piotr@debian.org> - 2018-01-26 10:10 +0100

#10086 — Re: Next python-mote pre-condition - issue with pybuild: python-backports.tempfile conflicting python-backports.weakref

Frompeter green <plugwash@p10link.net>
Date2018-01-25 19:00 +0100
SubjectRe: Next python-mote pre-condition - issue with pybuild: python-backports.tempfile conflicting python-backports.weakref
Message-ID<vbTYB-yG-7@gated-at.bofh.it>
 > However, in Debian case, I do not know how this can be handled as 2 packages cannot hold the same file (even if __init__ is only an empty file), and at least one must be present (if you install only one).

I'm not a python expert but I expect the least-horrible way to do this would be to ship a package that only contained the __init__. Then have all the python-backports.* packages depend on it.

[toc] | [next] | [standalone]


#10087

FromSimon McVittie <smcv@debian.org>
Date2018-01-26 01:50 +0100
Message-ID<vc0no-4De-11@gated-at.bofh.it>
In reply to#10086
On Thu, 25 Jan 2018 at 17:45:33 +0000, peter green wrote:
> > However, in Debian case, I do not know how this can be handled as
> > 2 packages cannot hold the same file (even if __init__ is only an empty
> > file), and at least one must be present (if you install only one).

The Python jargon is that the "backports" shared by backports.tempfile
and backports.weakref is a "namespace package".

For Python 2, dh_python2 handles this: python-lazr.restfulclient and
python-lazr.uri are an example of cooperating packages that share a
namespace package.

For Python >= 3.3, the __init__.py is unnecessary due to
<https://www.python.org/dev/peps/pep-0420/>.

> I'm not a python expert but I expect the least-horrible way to do this
> would be to ship a package that only contained the __init__. Then have
> all the python-backports.* packages depend on it.

This is not necessary, and would probably (hopefully?) lead to rejection
from the NEW queue.

    smcv

[toc] | [prev] | [next] | [standalone]


#10088

FromPiotr Ożarowski <piotr@debian.org>
Date2018-01-26 10:10 +0100
Message-ID<vc8bf-1jB-1@gated-at.bofh.it>
In reply to#10087
> > > However, in Debian case, I do not know how this can be handled as
> > > 2 packages cannot hold the same file (even if __init__ is only an empty
> > > file), and at least one must be present (if you install only one).
> 
> The Python jargon is that the "backports" shared by backports.tempfile
> and backports.weakref is a "namespace package".
> 
> For Python 2, dh_python2 handles this: python-lazr.restfulclient and
> python-lazr.uri are an example of cooperating packages that share a
> namespace package.

FTR: If you want to use dh_python2's --namespace: make sure ALL packages
that share namespace use this feature and not a single one ships
__init__.py file.

> > I'm not a python expert but I expect the least-horrible way to do this
> > would be to ship a package that only contained the __init__. Then have
> > all the python-backports.* packages depend on it.
> 
> This is not necessary, and would probably (hopefully?) lead to rejection
> from the NEW queue.

I don't think it's a bad solution, I used it in the past for some
packages.
-- 
GPG: 1D2F A898 58DA AF62 1786 2DF7 AEF6 F1A2 A745 7645

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.maint.python


csiph-web