Bug 1226879

Summary: Split libpeas into subpackages
Product: [Fedora] Fedora Reporter: Robert Kuska <rkuska>
Component: libpeasAssignee: Bastien Nocera <bnocera>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 22CC: amigadave, bnocera, jberan, kalevlember
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libpeas-1.15.0-3.fc23 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-07-04 19:46:17 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1014209    
Attachments:
Description Flags
packaging patch to split out python loaders
none
rebased package split patch against current master
none
use better names for the subpackages none

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.