Bug 1226879 - Split libpeas into subpackages
Summary: Split libpeas into subpackages
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: libpeas
Version: 22
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Bastien Nocera
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F23PYTHON3
TreeView+ depends on / blocked
 
Reported: 2015-06-01 11:27 UTC by Robert Kuska
Modified: 2016-04-18 10:17 UTC (History)
4 users (show)

Fixed In Version: libpeas-1.15.0-3.fc23
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-07-04 19:46:17 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
packaging patch to split out python loaders (2.42 KB, patch)
2015-06-25 10:36 UTC, David King
no flags Details | Diff
rebased package split patch against current master (2.70 KB, patch)
2015-07-03 09:06 UTC, David King
no flags Details | Diff
use better names for the subpackages (2.67 KB, patch)
2015-07-03 10:33 UTC, David King
no flags Details | Diff

Description Robert Kuska 2015-06-01 11:27:06 UTC
Currently libpeas ships both (py2 and py3) python .so files inside one package, that generates following requires for package:

libpython2.7.so.1.0()(64bit)
libpython3.4m.so.1.0()(64bit)


This is not wanted as we want to make fedora live iso python3 only.

Please split libpeas into subpackages.

Comment 1 David King 2015-06-25 10:36:07 UTC
Created attachment 1043052 [details]
packaging patch to split out python loaders

This patch splits out the Python 2 and 3 loaders into separate subpackages. It likely means that any packages which use libpeas with Python plugins need to explicitly declare dependencies on the loaders, at the same time as this patch would be merged. At least the following packages would need checking:

entangle
eog
gedit
gedit-code-assistance
gitg
gtranslator
rhythmbox
totem

Comment 2 David King 2015-07-03 09:06:40 UTC
Created attachment 1045784 [details]
rebased package split patch against current master

Comment 3 David King 2015-07-03 09:47:56 UTC
I did a bit of investigation of plugins provided with the listed projects:

* entangle has only Python 3 plugins
* eog has only C plugins (no changes required)
** eog-plugins has C and Python 3 plugins
* gedit has C and Python 3 plugins
** gedit-plugins also has C and Python 3 plugins
* gedit-code-assistance is a C plugin (no change required)
* gitg has only C plugins (no change required)
* gtranslator has C and Python 2(!) plugins
* Rhythmbox has C and Python 3 plugins
* totem has C and Python 3 plugins

As only gtranslator requires Python 2 for one of its plugins, splitting the Python loaders out into subpackages should avoid another user of Python 2 on the live image (as gtranslator is not installed there).

Comment 4 Kalev Lember 2015-07-03 10:24:20 UTC
Thanks David. I think the approach to split out individual loaders makes sense, but I am not sure about the naming. You've used python-%{name} and python3-%{name} here, but that's the naming scheme that's usually reserved for python modules (such as if you do 'import peas' in python, you'd have python-peas package that adds the import).

For libpeas loaders, it might be better to use the same naming scheme as opensuse has: libpeas-loader-python, libpeas-loader-python3, libpeas-loader-lua51.

https://build.opensuse.org/package/view_file/GNOME:Factory/libpeas/libpeas.spec?expand=1

Comment 5 David King 2015-07-03 10:33:30 UTC
Created attachment 1045824 [details]
use better names for the subpackages

Thanks for the clarification about the package naming, and especially about being consisten with the openSUSE naming! I updated the patch based on your comments. What is the best way to coordinate changes to the other packages?

Comment 6 Kalev Lember 2015-07-03 10:39:20 UTC
Thanks, looks good to me!

If you build it for rawhide, I can help fix up the other packages. It's not a huge list.

Comment 7 David King 2015-07-03 10:57:51 UTC
I built libpeas-1.15.0-3.fc23 for Rawhide with the patch.


Note You need to log in before you can comment on or make changes to this bug.