Bug 1390812 - gpsd-libs requires Python 2
Summary: gpsd-libs requires Python 2
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: gpsd
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Miroslav Lichvar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Keywords: FutureFeature
Depends On:
Blocks: depchain PYTHON3
TreeView+ depends on / blocked
 
Reported: 2016-11-02 01:35 UTC by Kevin Kofler
Modified: 2017-09-20 12:24 UTC (History)
3 users (show)

(edit)
Clone Of:
(edit)
Last Closed: 2017-09-20 12:24:08 UTC


Attachments (Terms of Use)

Description Kevin Kofler 2016-11-02 01:35:14 UTC
Description of problem:
gpsd-libs contains both the C client library and the Python 2 client library. Therefore, anything requiring libgps drags in Python 2. We are trying to get rid of Python 2 in favor of Python 3, and Python bindings should generally be packaged separately from the C library to avoid dragging in Python needlessly.

Please split out a separate python2-gpsd subpackage.

Version-Release number of selected component (if applicable):
gpsd-3.16-3.fc26
gpsd-3.16-3.fc25
gpsd-3.16-2.fc24
gpsd-3.15-2.fc23

How reproducible:
Always

Steps to Reproduce:
1. Install gpsd-libs.

Actual results:
Drags in Python 2.

Expected results:
Does not drag in Python 2.

Additional info:
This is one of the last holdouts dragging in the legacy Python 2 onto the KDE live image and remixes thereof.

Comment 1 Troy Curtis 2017-09-03 03:41:00 UTC
I've started looking at getting this resolved.  

There are several scripts that will need updating to work correctly under python3.  Additionally, this project uses scons for building, which is also python2 only, so there will be some work getting the compiled extensions working correctly for python3.  I'll be working with upstream to get this resolved.

I'll start by taking a look at the dependent packages and seeing what they use out of gpsd.  If the python components are not directly used by most of the dependent packages, than simply splitting into a python2-gpsd package ought to go along to addressing this issue.

Comment 2 Troy Curtis 2017-09-04 15:26:22 UTC
Pull request submitted for the python subpackage split: https://src.fedoraproject.org/rpms/gpsd/pull-request/1

Comment 3 Troy Curtis 2017-09-09 02:44:59 UTC
Upstream just released 3.17, complete with python3 support.  I've updated the package to provide both python2 and python3 subpackages.  Now the gpsd-clients subpackage depends on python3-gpsd, thus providing the ability to have a fully functional install of gpsd without a python2 dependency.

I'm currently having trouble initiating remote pull requests on http://src.fedoraproject.org (ref https://pagure.io/fedora-infrastructure/issue/6332 ), but the changes are available from https://gitlab.com/troycurtisjr/fedora-pkg-gpsd.git .  Also, the successful Copr build can be found at https://copr.fedorainfracloud.org/coprs/troycurtisjr/gpsd/build/600182/

Comment 4 Miroslav Lichvar 2017-09-12 08:34:06 UTC
Thanks, Troy. This is great work.

The update to 3.17 will require rebuild of all client packages (about 10 or so). It seems the API was just extended, so hopefully it won't require any patching.

Any provenpackager willing to do that?

Comment 5 Miroslav Lichvar 2017-09-12 09:31:48 UTC
I've pushed the changes to git. The only functional change I made was move of the new ppscheck binary to the main gpsd package. I hope that's ok with you. I think it should be together with ntpshmmon and it's technically not a gpsd client.

Now, we just need to rebuild all the packages.

Comment 6 Troy Curtis 2017-09-16 02:28:58 UTC
FYI I've done test builds for the dependent packages:

- collectd
- foxtrotgps
- gpsdrive
- marble
- plasma-workspace
- qlandkartegt
- qtgpsc
- vfrnav
- viking
- xtide

All built successfully, so whoever does the build shouldn't have to worry about stamping out many build issues.  I did have trouble building 'vifir', but it was a gtkmm related error and according to https://src.fedoraproject.org/rpms/vifir/c/1ff08f2cd3e0c0f926e7d7a946f1def9ab82a4f8?branch=master it is a dead package now any way.

Comment 7 Miroslav Lichvar 2017-09-20 12:24:08 UTC
Thanks.

gpsd-3.17-1.fc28 is now built in rawhide. I sent an email to fedora-devel last week and the maintainers should receive mails about broken dependencies.


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