Bug 428779 - Update README to include dependencies for common distributions and fix the installation guide
Summary: Update README to include dependencies for common distributions and fix the in...
Status: CONFIRMED
Alias: None
Product: systemdgenie
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Debian stable Linux
: NOR wishlist
Target Milestone: ---
Assignee: Ragnar Thomsen
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-11-07 12:01 UTC by myndstream
Modified: 2020-11-08 10:11 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description myndstream 2020-11-07 12:01:18 UTC
SUMMARY
I was trying to install the latest version on latest Debian stable but when running `cmake -DCMAKE_INSTALL_PREFIX=\`kf5-config --prefix\` ..` in the build directory I get:

> CMake Error at CMakeLists.txt:11 (find_package):
> Could not find a package configuration file provided by "ECM" (requested
> version 5.15.0) with any of the following names:
>
>   ECMConfig.cmake
>   ecm-config.cmake
>
> Add the installation prefix of "ECM" to CMAKE_PREFIX_PATH or set "ECM_DIR"
> to a directory containing one of the above files.  If "ECM" provides a
> separate development package or SDK, be sure it has been installed.
>
>
>-- Configuring incomplete, errors occurred!

After installing `extra-cmake-modules` of the version that's in Debian's repos I get:

> -- Could NOT find KF5Auth (missing: KF5Auth_DIR)
> -- Could NOT find KF5Auth: found neither KF5AuthConfig.cmake nor kf5auth-config.cmake 
> -- Could NOT find KF5CoreAddons (missing: KF5CoreAddons_DIR)
> -- Could NOT find KF5CoreAddons: found neither KF5CoreAddonsConfig.cmake nor kf5coreaddons-config.cmake 
> -- Could NOT find KF5Crash (missing: KF5Crash_DIR)
> -- Could NOT find KF5Crash: found neither KF5CrashConfig.cmake nor kf5crash-config.cmake 
> -- Could NOT find KF5I18n (missing: KF5I18n_DIR)
> -- Could NOT find KF5I18n: found neither KF5I18nConfig.cmake nor kf5i18n-config.cmake 
> -- Could NOT find KF5XmlGui (missing: KF5XmlGui_DIR)
> -- Could NOT find KF5XmlGui: found neither KF5XmlGuiConfig.cmake nor kf5xmlgui-config.cmake 
> CMake Error at /usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
>  Could NOT find KF5 (missing: Auth CoreAddons Crash I18n XmlGui) (Required
>  is at least version "5.15.0")
> Call Stack (most recent call first):
>  /usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
>  /usr/share/ECM/find-modules/FindKF5.cmake:110 (find_package_handle_standard_args)
>  CMakeLists.txt:21 (find_package)
>
>
>-- Configuring incomplete, errors occurred!



STEPS TO REPRODUCE
1. Install/use Debian 10 stable with KDE
2. Try to install SystemdGenie 

OBSERVED RESULT
Installation does not work as described, nor with the described fix.


EXPECTED RESULT
- The instructions for installation should include `sudo apt-get install extra-cmake-modules`
- The installation should work

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 5.14.5
KDE Plasma Version: 5.14.5
KDE Frameworks Version: 5.54.0
Qt Version: 5.11.3
Comment 1 Justin Zobel 2020-11-07 23:58:02 UTC
You'll need to install those dependencies.
Comment 2 myndstream 2020-11-08 00:04:21 UTC
(In reply to Justin Zobel from comment #1)
> You'll need to install those dependencies.

That's what the error message should say. And the instructions should be so that no error message appears on latest Debian. Thanks for the help though - I already have libkf5auth5 and libkf5coreaddons5 installed and could not find a package "KF5Auth". I also couldn't find a package "kauth" in the repos. Which dependencies need to be installed?
Comment 3 Justin Zobel 2020-11-08 00:13:12 UTC
(In reply to myndstream from comment #2)
> (In reply to Justin Zobel from comment #1)
> > You'll need to install those dependencies.
> 
> That's what the error message should say. And the instructions should be so
> that no error message appears on latest Debian. Thanks for the help though -
> I already have libkf5auth5 and libkf5coreaddons5 installed and could not
> find a package "KF5Auth". I also couldn't find a package "kauth" in the
> repos. Which dependencies need to be installed?

Which instructions are you referring to?

As for the names each distro is different but try this list (it's from Ubuntu 20.04.1 which should have similar names):
libkf5auth-dev
libkf5coreaddons-dev
libkf5crash-dev
libkf5i18n-dev
libkf5xmlgui-dev
Comment 4 myndstream 2020-11-08 00:40:15 UTC
Thanks. The command which was missing in the instructions (https://github.com/KDE/systemdgenie#installation) (/ the dependencies not listed under #Dependencies) was:

> sudo apt-get install extra-cmake-modules libkf5auth-dev libkf5coreaddons-dev libkf5crash-dev libkf5i18n-dev libkf5xmlgui-dev libsystemd-dev

Why do these -dev packages need to be installed?

Furthermore the last command in the instruction needed to be sudo make install

It doesn't look like it's installed after running sudo make install without any errors (The "Install the project..." step completed with the last output being "-- Installing: /usr/share/polkit-1/actions/org.kde.kcontrol.systemdgenie.policy"). I can not find it in the application menu and command "systemdgenie" is not found.
Comment 5 Justin Zobel 2020-11-08 00:57:43 UTC
(In reply to myndstream from comment #4)
> Thanks. The command which was missing in the instructions
> (https://github.com/KDE/systemdgenie#installation) (/ the dependencies not
> listed under #Dependencies) was:
> 
> > sudo apt-get install extra-cmake-modules libkf5auth-dev libkf5coreaddons-dev libkf5crash-dev libkf5i18n-dev libkf5xmlgui-dev libsystemd-dev
> 
> Why do these -dev packages need to be installed?

You're compiling from source, dev files contain the files needed to compile software against those libraries.

> Furthermore the last command in the instruction needed to be sudo make
> install
> 
> It doesn't look like it's installed after running sudo make install without
> any errors (The "Install the project..." step completed with the last output
> being "-- Installing:
> /usr/share/polkit-1/actions/org.kde.kcontrol.systemdgenie.policy"). I can
> not find it in the application menu and command "systemdgenie" is not found.

Is this the final lines of the sudo make install exactly:
Install the project...
-- Install configuration: "Debug"
-- Installing: /usr/bin/systemdgenie
-- Installing: /usr/share/kxmlgui5/systemdgenie/systemdgenieui.rc
-- Installing: /usr/share/applications/org.kde.systemdgenie.desktop
-- Installing: /usr/lib/kauth/libexec/systemdgeniehelper
-- Installing: /usr/share/dbus-1/system.d/org.kde.kcontrol.systemdgenie.conf
-- Installing: /usr/share/dbus-1/system-services/org.kde.kcontrol.systemdgenie.service
-- Installing: /usr/share/polkit-1/actions/org.kde.kcontrol.systemdgenie.policy
Comment 6 myndstream 2020-11-08 01:01:42 UTC
No, it's:

Install the project...
-- Install configuration: ""
-- Up-to-date: /home/username/path/systemdgenie-master/build/`kf5-config/bin/systemdgenie
-- Up-to-date: /home/username/path/systemdgenie-master/build/`kf5-config/share/kxmlgui5/systemdgenie/systemdgenieui.rc
-- Up-to-date: /home/username/path/systemdgenie-master/build/`kf5-config/share/applications/org.kde.systemdgenie.desktop
-- Up-to-date: /home/username/path/systemdgenie-master/build/`kf5-config/lib/kauth/libexec/systemdgeniehelper
-- Up-to-date: /home/username/path/systemdgenie-master/build/`kf5-config/etc/dbus-1/system.d/org.kde.kcontrol.systemdgenie.conf
-- Up-to-date: /home/username/path/systemdgenie-master/build/`kf5-config/share/dbus-1/system-services/org.kde.kcontrol.systemdgenie.service
-- Installing: /usr/share/polkit-1/actions/org.kde.kcontrol.systemdgenie.policy
Comment 7 Justin Zobel 2020-11-08 01:03:45 UTC
(In reply to myndstream from comment #6)
> No, it's:
> 
> Install the project...
> -- Install configuration: ""
> -- Up-to-date:
> /home/username/path/systemdgenie-master/build/`kf5-config/bin/systemdgenie
> -- Up-to-date:
> /home/username/path/systemdgenie-master/build/`kf5-config/share/kxmlgui5/
> systemdgenie/systemdgenieui.rc
> -- Up-to-date:
> /home/username/path/systemdgenie-master/build/`kf5-config/share/applications/
> org.kde.systemdgenie.desktop
> -- Up-to-date:
> /home/username/path/systemdgenie-master/build/`kf5-config/lib/kauth/libexec/
> systemdgeniehelper
> -- Up-to-date:
> /home/username/path/systemdgenie-master/build/`kf5-config/etc/dbus-1/system.
> d/org.kde.kcontrol.systemdgenie.conf
> -- Up-to-date:
> /home/username/path/systemdgenie-master/build/`kf5-config/share/dbus-1/
> system-services/org.kde.kcontrol.systemdgenie.service
> -- Installing:
> /usr/share/polkit-1/actions/org.kde.kcontrol.systemdgenie.policy

Ah I see you ran it with a prefix set.

So it won't show up in the menu as the menu doesn't look for .desktop files there.

/home/username/path/systemdgenie-master/build/`kf5-config/bin/systemdgenie is the binary file, if you run this, systemdgenie will open.

If you run cmake without the -DCMAKE_INSTALL_PREFIX=\`kf5-config --prefix\` it will be installed properly in the normal location ie /usr/bin/systemdgenie and the menu item will appear.
Comment 8 myndstream 2020-11-08 01:07:57 UTC
(In reply to Justin Zobel from comment #7)
> Ah I see you ran it with a prefix set.
> [...]
> If you run cmake without the -DCMAKE_INSTALL_PREFIX=\`kf5-config --prefix\`
> it will be installed properly in the normal location [...]

Thanks but why is this in the instructions then?
Comment 9 Justin Zobel 2020-11-08 01:21:33 UTC
(In reply to myndstream from comment #8)
> (In reply to Justin Zobel from comment #7)
> > Ah I see you ran it with a prefix set.
> > [...]
> > If you run cmake without the -DCMAKE_INSTALL_PREFIX=\`kf5-config --prefix\`
> > it will be installed properly in the normal location [...]
> 
> Thanks but why is this in the instructions then?

What instructions?
Comment 10 myndstream 2020-11-08 09:56:51 UTC
(In reply to Justin Zobel from comment #9)
> What instructions?


See:
(In reply to Justin Zobel from comment #3)
> Which instructions are you referring to?
[...]

(In reply to myndstream from comment #4)
> Thanks. The command which was missing in the instructions
> (https://github.com/KDE/systemdgenie#installation) (/ the dependencies not
> listed under #Dependencies) was: [...]

(The instructions in the readme at https://github.com/KDE/systemdgenie#installation as well as https://invent.kde.org/system/systemdgenie)

As it's working now this issue is about fixing the readme.
Comment 11 Justin Zobel 2020-11-08 09:59:18 UTC
I've updated this to a wishlist for the dependencies for common distributions to be added to the README. :)
Comment 12 myndstream 2020-11-08 10:05:54 UTC
(In reply to Justin Zobel from comment #11)
> I've updated this to a wishlist for the dependencies for common
> distributions to be added to the README. :)

Alright. It would be good if the precise package names were listed. I'd recommend simply adding this to the commands (the package-names should be the same across distros and seem to be required on all of them):

sudo apt-get install extra-cmake-modules libkf5auth-dev libkf5coreaddons-dev libkf5crash-dev libkf5i18n-dev libkf5xmlgui-dev libsystemd-dev

Furthermore, it's not only about the dependencies as it only worked after deleting the build folder, and running the commands again but without the cmake prefix (cmake ..) so the instructions definitely need to be updated somehow to at least inform about when to use that prefix or have that prefix removed.
Comment 13 Justin Zobel 2020-11-08 10:07:10 UTC
I'll be honest I don't believe systemdgenie is maintained any more so it might not be updated.
Comment 14 myndstream 2020-11-08 10:09:21 UTC
(In reply to Justin Zobel from comment #13)
> I'll be honest I don't believe systemdgenie is maintained any more so it
> might not be updated.

It looks like that, yes. But maybe somebody else will develop it further? Maybe somebody could try to contact Thomsen?

Any alternative (a Qt GUI in specific)?
Comment 15 Justin Zobel 2020-11-08 10:11:38 UTC
There was a systemd KCM (KDE config module that goes in System Settings) but I believe that was developed by the same person.

Both still work but maintenance doesn't seem to be happening.

You're welcome to try reach out to the developers of it and see if they'd be interested in continuing the work or if you can find someone else wanting to take on working on it.