Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#817936: roger-router: Please add libpeas-1.0-0-python2loader to Depends

11 views
Skip to first unread message

Barry Warsaw

unread,
Mar 11, 2016, 1:50:03 PM3/11/16
to
Source: roger-router
Severity: normal

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Dear Maintainer,

In bug #806824 I propose to split the Python loaders for libpeas into
separate binary packages. This allows us to segregate the Python 2
and Python 3 versions, and eases the transition to a
Python-3-by-default world. We've already made this transition in
Ubuntu. E.g.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=806824;att=1;filename=bug806824.diff;msg=15

Once this split happens, it will requirey dependencies such as this
package to update its Depends in order to load the correct Python
loader.


- -- System Information:
Debian Release: stretch/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.4.0-1-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIbBAEBCAAGBQJW4xJkAAoJEBJutWOnSwa/4b8P+PwgiJi8+T82vNBaDyyXpdq+
McrJF6iUtBcWgHnA7Bgq+uUbLTXOy2eYUeKG27vgHH6D6nVjRiuZHEOkt0Po86Km
MBrrW4V6drVoKiHkC3YpMPY5m+KN2juxMGiXuCWXcM+Jhs0UfP0w3jZ8WH2NoCTC
fwmUtixMKjGfcEK+4rC8JLwIVPwGI0hJoozFPP6HmWEcwzWwg0N3WvBO/AT3mpmZ
67LzErBYcetpmBGiJYbj4swKXpsHTm/XMpJP9y6R1mnpQku2oSCzqvK67Wb39NKs
aPPzHb7JXziXDEG0aaz1PkT0F3jixfXfcsiKYU/SKN0R5EIrjCOnhOq1pgSzwk4O
M0PjqxrBD2aolWj60KMPD335cuKQr2mSGwEym6D71BGP6v7y5UsWC+iud87+PuIP
lmdi1Lw0dg/vpCwQJ50limzlvKjkk7IiSCPC/T5PB508JNqVbvCTkIL0er/LAHK0
yZN4WEXPtn+kMfq7T+NwjFn0AH0iGfkziULsv28kVJiE8Z3YA78qEX6GuftuOPrQ
CHXztzvy7e7Rac8dKTntylNJeSnuI9h/XhO3YmEjoN7npDYir/Vuu8uGktsqe1QW
jGY+znWPMN+sB8SIHwb+FrTyczkydowd2gVGACwkLt4QRi/6cXCAjx/oSiPwlNGz
TZOXKk1MccFDSnJYGo4=
=tuHI
-----END PGP SIGNATURE-----

Rolf Leggewie

unread,
Apr 2, 2016, 6:40:02 AM4/2/16
to
Barry,

On 11.03.2016 19:45, Barry Warsaw wrote:
> In bug #806824 I propose to split the Python loaders for libpeas into
> separate binary packages.

That split hasn't happened yet and it isn't even clear if
libpeas-1.0-0-python2loader will ever hit the archive. To file this bug
looks a bit premature. Currently, there's nothing to be done and it's
not clear if there ever will be.

Regards

Rolf

Barry Warsaw

unread,
Apr 2, 2016, 3:40:03 PM4/2/16
to
There seems to be some disagreement as to the best course of action, with some
advocation for just porting any libpeas dependencies to Python 3. TBH I don't
use these so I don't have a strong opinion or motivation, except that I want
to reduce the overall dependence on Python 2 in Debian. We've already made
this split in Ubuntu and haven't seen any reports of problems, so to me it's a
low risk, high reward option, even if short-term (with the long term being a
full Python 3 port). At this point I guess it's up to the Gnome team in
Debian to decide how to proceed.

Rolf Leggewie

unread,
Apr 2, 2016, 4:40:02 PM4/2/16
to
On 02.04.2016 21:34, Barry Warsaw wrote:
> to reduce the overall dependence on Python 2 in Debian. We've already
> made this split in Ubuntu and haven't seen any reports of problems

Barry,

thank you for the quick response.

I'm still at a loss what it is you are asking of me. The title of this
bug requests me to add a run-time dependency that doesn't even exist in
Debian yet. In Ubuntu the change you advocate has been made, but
apparently there were no changes necessary for roger-router alongside.
In fact, roger-router in Ubuntu still depends on libpeas-1.0.0 and not
libpeas-1.0-0-python2loader even though the package does exist there.

Should I be mistaken to think that this ticket is invalid?

Regards

Rolf

Barry Warsaw

unread,
Apr 2, 2016, 5:40:03 PM4/2/16
to
On Apr 02, 2016, at 10:33 PM, Rolf Leggewie wrote:

Hi Rolf,

>I'm still at a loss what it is you are asking of me. The title of this
>bug requests me to add a run-time dependency that doesn't even exist in
>Debian yet. In Ubuntu the change you advocate has been made, but
>apparently there were no changes necessary for roger-router alongside.
>In fact, roger-router in Ubuntu still depends on libpeas-1.0.0 and not
>libpeas-1.0-0-python2loader even though the package does exist there.

We should certainly fix roger-router in Ubuntu; I'm not sure how I missed that
one over there. I'll file a bug and fix that early next week.

>Should I be mistaken to think that this ticket is invalid?

It depends on how you look at it. :) If I can convince the libpeas maintainer
to make the split, then roger-router in Debian will need to be fixed, hence
this bug would be valid. But it doesn't seem like I'm going to be successful
in convincing the libpeas maintainer about the split, so there's certainly
nothing for you to do now. Of course, we can always reopen this bug later if
the libpeas maintainer agrees with the change.

I look at this as a tracking bug - something that needs to happen if another
bug gets resolved, but nothing to do right now. Thanks for your response; if
you think it's best to close this as invalid, no problem.

Rolf Leggewie

unread,
Apr 2, 2016, 5:50:03 PM4/2/16
to
On 02.04.2016 23:35, Barry Warsaw wrote:
> I look at this as a tracking bug - something that needs to happen if another
> bug gets resolved, but nothing to do right now.

Thank you for the clarification.

I'll keep this ticket open in the spirit your explained above.

Rolf Leggewie

unread,
May 12, 2016, 10:00:03 PM5/12/16
to
Hello Barry,

so, libpeas-1.0-0-python2loader has officially made it into Debian. I'm
now thinking how to deal with that for roger.

On 03.04.2016 05:35, Barry Warsaw wrote:
> On Apr 02, 2016, at 10:33 PM, Rolf Leggewie wrote:
>
> Hi Rolf,
>
>> I'm still at a loss what it is you are asking of me. The title of this
>> bug requests me to add a run-time dependency that doesn't even exist in
>> Debian yet. In Ubuntu the change you advocate has been made, but
>> apparently there were no changes necessary for roger-router alongside.
>> In fact, roger-router in Ubuntu still depends on libpeas-1.0.0 and not
>> libpeas-1.0-0-python2loader even though the package does exist there.
> We should certainly fix roger-router in Ubuntu; I'm not sure how I missed that
> one over there. I'll file a bug and fix that early next week.

Ubuntu is still unchanged both in Xenial and Yakkety.

The title of this ticket suggests I should add an explicit dependency on
libpeas-1.0-0-python2loader to Depends. I'm a bit reluctant to do that
since it would mean I need to maintain a fork since my main computer is
trusty. In any case, roger does not ship any python code at all. My
understanding is that it uses peas to allow third party plugins and
those could be written in python or other programming languages. I'm
actually not aware of any plugins and they could be written in either
python 2 or python 3. Adding a strong dependency to the python 2 loader
seems wrong to me. I feel like adding a Suggests for
"libpeas-1.0-0-python2loader|libpeas-1.0-0-python3loader" would be more
appropriate. Or should I be mistaken? If it really needs to be a
Depends wouldn't it be better to have debhelper and dh_shlibs take care
of doing the right thing?

Regards

Rolf

Rolf Leggewie

unread,
May 13, 2016, 12:00:04 AM5/13/16
to
After further inspection of the peas packages in testing and unstable I
have now learned that the new libpeas-1.0-0 includes what I thought was
going to be carved out into libpeas-1.0-0-python3loader.

Barry, I think that adding "libpeas-1.0-python2loader | libpeas-1.0-0
(<< 1.16.0-1ubuntu1)" to Depends for libroutermanager0 (all other roger
binary packages depend on this one directly or indirectly) would fix
this ticket as well as allow me to build from the same code base for
trusty. Seeing that libpeas-1.0-0-python3loader was indeed added to
Xenial (and Yakkety, so far, for that matter), I think that depending on
"libpeas-1.0-python2loader | libpeas-1.0-0 (<< 1.16.0-1ubuntu1),
libpeas-1.0-0 (>= 1.18.0-2) | libpeas-1.0-python3loader" would be needed
to support all of trusty, xenial and unstable from the same roger code
base. This assumes that Ubuntu will later during the Yakkety cycle go
back to syncing libpeas from unstable and thus drop
libpeas-1.0-python3loader.

It would be appreciated if you confirmed this change for roger.

Rolf Leggewie

unread,
May 13, 2016, 12:40:03 AM5/13/16
to
Jan-Michael,

there's been some talk in http://bugs.debian.org/620391 about Roger
Router and PEAS Python2 plugins.

As upstream, are you actually aware of any Plugins for Roger that are
Python 2? I'd rather see them ported to Python 3 or become deprecated
than add a complicated web of additional dependencies to the Debian
package. Would it be acceptable to do "sed s/python/python3/
./libroutermanager/plugins.c" and require all python plugins to be
ported to python3 from now on?

FWIW, I'm not aware of any external, third-party plugins for Roger
Router, irrespective of their programming language. Do they exist?

Regards

Rolf

Rolf Leggewie

unread,
May 13, 2016, 12:40:03 AM5/13/16
to
On 13.05.2016 12:26, Rolf Leggewie wrote:
> there's been some talk in http://bugs.debian.org/620391 about Roger
> Router and PEAS Python2 plugins.

Make that http://bugs.debian.org/817936

Jan-Michael Brummer

unread,
May 13, 2016, 10:40:03 AM5/13/16
to
Rolf,

I'm currently not aware of any python plugins available for Roger Router. The
change to python3 has already been done in the new development version,
which will be released soon.

Barry Warsaw

unread,
May 13, 2016, 11:30:03 AM5/13/16
to
On May 13, 2016, at 08:51 AM, Rolf Leggewie wrote:

>Ubuntu is still unchanged both in Xenial and Yakkety.

I'm currently in the process of resyncing the libpeas stack in Debian back to
Yakkety. It's slow going because the python2/3 loader issue isn't the only
delta from Debian in these packages.

I'm not currently planning on SRUing all of this back into Xenial, and I'm not
even sure such SRUs would be acceptable. Let's try to DTRT in Yakkety and
figure out the minimal amount of work needed to fix whatever's broken in
Xenial. But let's do the latter in response to actual bug reports from users.

Since roger-router doesn't ship any Python code itself, I don't think it
should Depends on libpeas-1.0-python2loader. Given that your follow up to
Jan-Michael asks about the existence of Python 2 plugins for roger, it seems
premature to add that Suggests to roger, and I totally agree about encouraging
the port of any such third party plugins to Python 3.

Note that any plugins which exist in the archive should themselves Depend on
libpeas-1.0-python2loader if they are Python 2. (For Xenial, they'd have to
add a Depends on libpeas-1.0-python3loader if they were Python 3, but for
Debian and Yakkety, they would just Depends on libpeas since they get the
Python 3 loader for free now.) Any third-party plugins not in the archive
will have to apt install the Python 2 loader itself.

Does that sound right and good to you?
0 new messages