libpeas-1.0-0 depends on both libpython2.7 and libpython3.4

Bug #1440504 reported by Matthias Klose
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
eog-plugins (Ubuntu)
Fix Released
Undecided
Unassigned
gedit (Ubuntu)
Fix Released
Undecided
Unassigned
gnome-builder (Ubuntu)
Fix Released
Undecided
Unassigned
gtranslator (Ubuntu)
Fix Released
Undecided
Unassigned
libpeas (Debian)
Fix Released
Unknown
libpeas (Ubuntu)
Fix Released
Medium
Barry Warsaw
liferea (Ubuntu)
Fix Released
Undecided
Unassigned
rhythmbox (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

libpeas-1.0-0 depends on both libpython2.7 and libpython3.4, preventing the removal of python2 from the desktop CD images. Please split out the loaders into two different packages so that libpeas-1.0-0 doesn't prevent removal of python2.7 from the desktop CD images.

Tags: patch python3
Revision history for this message
Steve Langasek (vorlon) wrote :

Can someone from the desktop team take a look at this package? It probably needs some analysis of the reverse-dependencies first, to verify which of them if any still need porting to python3.

Changed in libpeas (Ubuntu):
assignee: nobody → Canonical Desktop Team (canonical-desktop-team)
Changed in libpeas (Ubuntu):
status: New → Triaged
importance: Undecided → High
Revision history for this message
Iain Lane (laney) wrote :

If and when we end up splitting, I'll do this via Debian.

Revision history for this message
Will Cooke (willcooke) wrote :

First steps are to analyse the reverse dependencies. And then as Laney says, to do this work upstream.
We will try to get this done this cycle.

Changed in libpeas (Ubuntu):
importance: High → Medium
Revision history for this message
Matthias Klose (doko) wrote :

any update on this?

Revision history for this message
Iain Lane (laney) wrote :

not right now, sorry

Revision history for this message
Bryan Quigley (bryanquigley) wrote :

Went through the dependencies , hope this helps:
* deja-dup - dependency duplicity still needs porting to python3 (unknown if this is an issue for deja-dup/libpeas) lp bug is 1440372
* diodon(-dev)/libdiodon0 - no python found
* emerillon - no python found
* entangle/gir1.2-entangle-0.1 - no python found
* eog - no python mentioned
* eog-plugins - only python3 depends found
* gedit(-dev/-plugins) - only python3 depends found
* gedit-valencia-plugin - no python found
* gitg - no python found
* gnome-core-devel (for libpeas-dev), meta package depends on python-gobject-dev (python2) - guessing this doesn't really matter
* gtranslator - **depends on python2**
* liferea - **depends on python2**
* totem-plugins/libtotem0 - only python3 depends found
* roger-router(-cli)/libroutermanager0 - - no python found
* rhythmbox (and many friends) - only python3 depends found

To summarize: gtranslator and liferea need python2, and deja-dup might be an issue.

Revision history for this message
Barry Warsaw (barry) wrote :

With deja-dup 34.1-0ubuntu1, the tight dependency on Python 2 has been fixed. deja-dup only recommends duplicity and will install it on demand. However deja-dup still depends on libpeas-1.0-0 and that pulls in libpython2.7, so i think that's another package that needs the libpeas split.

Any progress to report? Any help needed?

Revision history for this message
Sebastien Bacher (seb128) wrote :

> Any progress to report? Any help needed?

Sure, if you want to work on a patch that would be welcome, we currently have other priorities and nobody is actively looking at the libpeas changes

Changed in libpeas (Ubuntu):
assignee: Canonical Desktop Team (canonical-desktop-team) → nobody
Changed in libpeas (Debian):
status: Unknown → New
Revision history for this message
Barry Warsaw (barry) wrote :

So maybe this isn't as difficult as I first thought. The basic idea is that instead of putting both the libpythonloader and libpython3loader shared libs in the same binary package, I'm creating two new binary packages libpeas-1.0-0-python2loader and libpeas-1.0-0-python3loader.

Each of this will only contain the respective .so. Thus libpeas-1.0-0*.deb will have no Python dependency at all, and the split binaries will only have the appropriate libpython2.7 or libpython3.5 dependency.

Then we'll need to update the Depends of the packages mentioned above, by adding:

* deja-dup - libpeas-1.0-0-python3loader
* eog-plugins - libpeas-1.0-0-python3loader
* gedit(-dev/-plugins) - libpeas-1.0-0-python3loader
* gnome-core-devel (for libpeas-dev): libpeas-1.0-0-python2loader
* gtranslator: libpeas-1.0-0-python2loader
* liferea: libpeas-1.0-0-python2loader
* totem-plugins/libtotem0: libpeas-1.0-0-python3loader
* rhythmbox (and many friends): libpeas-1.0-0-python3loader

I don't think any of the other libpeas binary packages need splitting.

I'll attach the patch for libpeas. Could someone on the desktop team please let me know if this is sane, and if so, could you shepherd the necessary changes (for this and the dependents) into Debian and Ubuntu as appropriate?

Revision history for this message
Barry Warsaw (barry) wrote :
Changed in libpeas (Ubuntu):
status: Triaged → In Progress
tags: added: patch
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thanks Barry, if you move files between binaries you at least need a breaks/replace so you don't get file conflicts on updates, also libpeas-1.0-0 should probably recommends at least the python3 loader no?
Do we have an idea what libpeas plugins currently use python2?

Revision history for this message
Barry Warsaw (barry) wrote :

@seb128: Yes, you're right of course. From here on I'll follow up on the Debian bug. Cheers!

Revision history for this message
Barry Warsaw (barry) wrote :

Added bugtasks for the packages that I think need Depends updates.

See https://launchpad.net/~barry/+archive/ubuntu/peasandqueues/+packages for staging.

Changed in libpeas (Ubuntu):
assignee: nobody → Barry Warsaw (barry)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libpeas - 1.16.0-1ubuntu1

---------------
libpeas (1.16.0-1ubuntu1) xenial; urgency=medium

  * debian/control:
    - Split the Python 2 and Python 3 loader shared libraries into separate
      binary packages so that we can manage the libpython2.7 and libpython3.5
      dependencies individually. This allows for better migration to Python
      3 only environments. (LP: #1440504)
    - libpeas-1.0-0-python3loader, libpeas-1.0-0-python2-loader: New
      binary packages.
    - update-maintainer
  * debian/libpeas-1.0-0-python{2,3}loader.install: Added.
  * debian/libpeas-1.0-0.install: Modified.

 -- Barry Warsaw <email address hidden> Wed, 13 Jan 2016 14:30:56 -0500

Changed in libpeas (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package eog-plugins - 3.16.3-1ubuntu1

---------------
eog-plugins (3.16.3-1ubuntu1) xenial; urgency=medium

  * debian/control.in:
    - Add explicit dependency on libpeas-1.0-0-python3loader (LP: #1440504)
    - update-maintainer

 -- Barry Warsaw <email address hidden> Mon, 15 Feb 2016 18:04:43 -0500

Changed in eog-plugins (Ubuntu):
status: New → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package liferea - 1.10.17-1ubuntu2

---------------
liferea (1.10.17-1ubuntu2) xenial; urgency=medium

  * debian/control: Add explicit dependency on libpeas-1.0-0-python2loader.
    (LP: #1440504)

 -- Barry Warsaw <email address hidden> Tue, 16 Feb 2016 14:33:49 -0500

Changed in liferea (Ubuntu):
status: New → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gedit - 3.18.3-0ubuntu2

---------------
gedit (3.18.3-0ubuntu2) xenial; urgency=medium

  * debian/control.in: Add explicit dependency on libpeas-1.0-0-python3loader.
    (LP: #1440504)

 -- Barry Warsaw <email address hidden> Mon, 15 Feb 2016 18:29:31 -0500

Changed in gedit (Ubuntu):
status: New → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package rhythmbox - 3.3-1ubuntu4

---------------
rhythmbox (3.3-1ubuntu4) xenial; urgency=medium

  * debian/control.in: Add explicit dependency on libpeas-1.0-0-python3loader.
    (LP: #1440504)

 -- Barry Warsaw <email address hidden> Tue, 16 Feb 2016 17:37:13 -0500

Changed in rhythmbox (Ubuntu):
status: New → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gtranslator - 2.91.7-1ubuntu1

---------------
gtranslator (2.91.7-1ubuntu1) xenial; urgency=medium

  * debian/control.in:
    - Add explicit dependency on libpeas-1.0-0-python2loader. (LP: #1440504)
    - update-maintainer

 -- Barry Warsaw <email address hidden> Tue, 16 Feb 2016 14:20:16 -0500

Changed in gtranslator (Ubuntu):
status: New → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-builder - 3.18.1-2ubuntu1

---------------
gnome-builder (3.18.1-2ubuntu1) xenial; urgency=medium

  * debian/control.in:
    - Add explicit dependency for on libpeas-1.0-0-python3loader.
      (LP: #1440504)
    - update-maintainer

 -- Barry Warsaw <email address hidden> Tue, 16 Feb 2016 17:41:31 -0500

Changed in gnome-builder (Ubuntu):
status: New → Fix Released
Changed in libpeas (Debian):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.