Bug 1324214 - [RFE] Finer package splitting
Summary: [RFE] Finer package splitting
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: kde-connect
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Martin Bříza
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1323421 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-04-05 20:44 UTC by Ben Boeckel
Modified: 2016-08-10 08:24 UTC (History)
8 users (show)

Fixed In Version: kde-connect-0.9-7.fc24
Clone Of:
Environment:
Last Closed: 2016-08-08 20:23:14 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Spec file with package splitting (12.60 KB, text/plain)
2016-04-05 22:15 UTC, Ben Boeckel
no flags Details

Description Ben Boeckel 2016-04-05 20:44:01 UTC
KDE Connect looks like a great piece of software, but its dependency tree is quite large. It would be nice to have a better split of the kde-connect package so that it doesn't drag in all kinds of things which aren't (at least, AFAICT) related. For example, I see kwallet being dragged in, KDE workspace bits (breeze icons, fuse, and phonon). I *think* this is due to the KCM component tree, but I'm not 100% sure since dnf is tight-lipped about how it got its dependencies.

Looking at the file list, a split might be:

# For each plugin
%package plugin-%{name}
%{_qt5_prefix}/plugins/kdeconnect/%{name}.so

# KCM components
%package kcm
%{_qt5_prefix}/plugins/kcm_kdeconnect.so
%{_datadir}/applications/org.kde.kdeconnect.kcm.desktop

# KIO bits
%package kio
%{_qt5_prefix}/plugins/kio_kdeconnect.so

# The actual service
%package -n kconnectd
%{_libexecdir}/kdeconnectd
%dir %{_qt5_prefix}/plugins/kdeconnect/
%{_sysconfdir}/xdg/autostart/kdeconnectd.desktop
%{_prefix}/lib/firewalld/services/kde-connect.xml
%{_datadir}/dbus-1/services/*.service

There's also missing headers to write other plugins, but I'll file a bug upstream for that.

Comment 1 Ben Boeckel 2016-04-05 20:44:52 UTC
I might try a copr to see how the split would work this or next week sometime.

Comment 2 Rex Dieter 2016-04-05 21:59:12 UTC
<nod>, splitting out kdeconnectd would be a good first step.  That seems to be what most non-plasma/kde using folks have been asking for

Comment 3 Ben Boeckel 2016-04-05 22:14:10 UTC
So I actually was waiting on other builds here and did a split. Doesn't seem to help all that much due to kde-settings -> breeze-icon-theme, but it's a start. Spec file attached.

Comment 4 Ben Boeckel 2016-04-05 22:15:00 UTC
Created attachment 1144028 [details]
Spec file with package splitting

I suspect that some of the Requires: are inaccurate, but it's a start.

Comment 5 Ben Boeckel 2016-04-05 22:38:21 UTC
OK, so kdeconnect-cli acts a little weird if the ping plugin (and probably the share plugin as well) isn't installed. I suppose upstream could be a little more robust against it, but I'll add that to the list :) .

Comment 6 Ben Boeckel 2016-04-06 02:35:58 UTC
Copr: https://copr.fedorainfracloud.org/coprs/mathstuf/patches/packages/ It does have other things in it, but only dmenu might cause issues (just a few extra patches upstream hasn't merged yet, but put on their website).

Comment 7 Rex Dieter 2016-04-06 11:26:29 UTC
IMHO, splitting every plugin into it's own package is way overkill (unless you just wanted to do it as an academic excersize), greatly increasing packaging complexity and generally not helping serve the cause of minimizing dependencies

What are the greatest dependency pain-points you're trying to solve here?

Comment 8 Ben Boeckel 2016-04-06 13:59:31 UTC
Yeah, the plugin split could probably be better (a virtual Provides: kde-connect(%{name}) would help here). Maybe a better split would be "plugins-multimedia" (mpriscontrol, pausemusic, telephony), "plugins-sharing" (sftp, share, though sftp has that fuse dependency), "plugins-desktop" (clipboard, notifications, screensaver-inhibit). That just leaves battery and mousepad. ping probably belongs in the kdeconnectd subpackage since it's really "core".

The KCM modules seem to be the ones which drag in the KDE runtime (e.g., kde-cli-tools, kdesu, kf5-kded). The breeze theme stuff seems to be kde-settings which is a different bug.

Comment 9 Rex Dieter 2016-07-06 12:03:53 UTC
*** Bug 1323421 has been marked as a duplicate of this bug. ***

Comment 10 Rex Dieter 2016-07-06 12:11:10 UTC
Went with making a kdeconnectd subpkg only for now.

%changelog
* Sun Jun 05 2016 Rex Dieter <rdieter> - 0.9-7
- prep git snapshot (for 1.0 compatibility), but don't use yet
- kdeconnectd subpkg (#1324214)
- kdeconnectd does not autostart on MATE (#1296523)

Comment 11 Fedora Update System 2016-08-02 14:51:30 UTC
kde-connect-0.9-7.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-6437195d6b

Comment 12 Fedora Update System 2016-08-04 01:55:24 UTC
kde-connect-0.9-7.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-6437195d6b

Comment 13 Fedora Update System 2016-08-08 20:23:07 UTC
kde-connect-0.9-7.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.

Comment 14 jeremy9856 2016-08-10 08:24:09 UTC
Thank you ! It seem much better, at least without installing weak dependencies feature that I use (# echo "install_weak_deps=False" >> /etc/dnf/dnf.conf)


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