(kactivities)
 
(24 intermediate revisions by 3 users not shown)
Line 3: Line 3:
 
It should be possible to install a kde frameworks 5 runtime alonside a kdelibs 4 runtime so apps can use either one
 
It should be possible to install a kde frameworks 5 runtime alonside a kdelibs 4 runtime so apps can use either one
  
= Dependencies: =
+
Many paths have changed by default so there is no clash
 +
* kdelibs 4 CONFIG_INSTALL_DIR: /usr/share/config
 +
* kf5 CONFIG_INSTALL_DIR: /etc/xdg
 +
* kdelibs 4 DATA_INSTALL_DIR: /usr/share/apps
 +
* kf5 DATA_INSTALL_DIR: /usr/share
  
Qt libraries it depends on already have two versions with different sonames or different names
+
HTML_INSTALL_DIR does clash as /usr/share/doc/HTML to allow khelpcentre to find docs from both kdelibs4 land and kf5 land
  
* phonon - rename done
+
[[Plasma/Coinstallability|Plasma Next coinstallability page]]
* attica - rename done
 
* dbusmenu - rename done
 
* oxygen-icons - just install the latest version
 
* qimageblitz - rename done
 
* libstream and libstreamanalyzer - not qt libraries so ABI the same and no rename needed
 
* grantlee - not ported to Qt 5 but it is only used for a test which is disabled.
 
* polkit-qt-1 - '''collides''' with Qt4 counterpart, both by name and soname
 
  
= KDE Frameworks 5 =
+
= kactivities =
== data files: ==
 
  
Most install into DATA_INSTALL_DIR which can be made version specific, e.g. /usr/share/kde4/ and /usr/share/kdeframeworks5
+
The libraries are co-installable, but the daemon is not.
  
* share/LICENSES/ DATA_INSTALL_DIR
+
* libkactivities/qt5 requires kactivitymanagerd/qt5
* share/kcharselect/kcharselect-data  DATA_INSTALL_DIR
+
* libkactivities/qt4 works with both kactivitymanagerd/qt4 and kactivitymanagerd/qt5 (though, the later is advised since it is more stable)
* share/ksgmltools2  DATA_INSTALL_DIR
 
* share/xmlgui/pics/aboutkde.png DATA_INSTALL_DIR
 
* share/khtml/ DATA_INSTALL_DIR
 
* share/kssl/ DATA_INSTALL_DIR
 
* share/kauth/
 
* share/cmake/modules/
 
* share/kconfigwidgets DATA_INSTALL_DIR (and changed dir name)
 
* share/knewstuff/pics DATA_INSTALL_DIR
 
* share/kconf_update DATA_INSTALL_DIR
 
* share/kjava DATA_INSTALL_DIR
 
* share/proxyscout/ DATA_INSTALL_DIR
 
* share/kcm_componentchooser/ DATA_INSTALL_DIR
 
* share/kdewidgets/ DATA_INSTALL_DIR
 
  
'''Note''' default DATA_INSTALL_DIR from kdelibs4 was ${SHARE_INSTALL_PREFIX}/apps, with KF5 it is same as ${SHARE_INSTALL_PREFIX}, and it completely depends on $XDG_DATA_DIRS/xdgDataDirs (for anything other than default, env variables need to be exported, both during buildtime, and runtime). But, on default configuration, data does not collide!
+
In order to build only the library part of kactivities/qt4, you can pass -DKACTIVITIES_LIBRARY_ONLY=true to cmake. libkactivities/qt4 works with the qt5 version of the daemon.
  
These are files which could be shared between kdelibs 4 and kde frameworks 5
+
* link to the original discussion: https://git.reviewboard.kde.org/r/115602/
 
 
* share/locale/
 
Currently, share/locale/all_languages and share/locale/en_US/entry.desktop are provided by both kdelibs4 and kf5.
 
 
 
* share/mime/packages/
 
Currently, kdelibs installs share/mime/packages/kde.xml and KF5 installs share/mime/packages/kde5.xml
 
 
 
* share/icons/hicolor/
 
ATM seems that no icons are installed with KF5
 
 
 
* share/doc
 
HTML_INSTALL_DIR  is the same in both generations of libraries: currently kio docs collide
 
 
 
* etc/xdg/
 
Both kdelibs and KF5 provide etc/xdg/menus/applications.menu
 
 
 
* share/dbus-1/interfaces/
 
Several Frameworks install same XML files for their DBus interfaces with the same name as kdelibs counterparts.
 
 
 
* etc/dbus-1/system.d/org.kde.auth.conf
 
KAuth framework still uses same DBus configuration file as in KDE4 era
 
 
 
== binaries: ==
 
 
 
Some are renamed already or a new:
 
* bin/checkXML -> * bin/checkXML5
 
* bin/kdeinit4_shutdown -> bin/kdeinit5_shutdown
 
* bin/kbuildsycoca4 -> bin/kbuildsycoca5
 
* bin/kdeinit4_wrapper -> bin/kdeinit5_wrapper
 
* bin/meinproc4 -> bin/meinproc5
 
* bin/kdeinit4 -> bin/kdeinit5
 
* bin/kde4-config -> bin/kf5-config
 
* bin/kded4 -> bin/kded5
 
* New binary -> bin/desktoptojson
 
* bin/kshell4 -> bin/kshell5
 
* bin/kwrapper4 -> bin/kwrapper5
 
* bin/kcookiejar4 -> bin/kcookiejar5
 
* bin/kross -> bin/kf5kross
 
* bin/kmailservice -> bin/kmailservice5
 
* bin/ktelnetservice -> bin/ktelnetservice5
 
* bin/kjs -> bin/kjs5
 
* bin/kjscmd -> * bin/kjscmd5
 
* bin/kconfig_compiler -> bin/kconfig_compiler_kf5
 
* bin/makekdewidgets ->  bin/kgendesignerplugin
 
* bin/kwalletd -> bin/kwalletd5
 
* bin/preparetips -> * bin/preparetips5
 
 
 
== libraries: ==
 
All libraries renamed and versioned to 5.0.0
 
 
 
set some cmake variables to keep various bits separate
 
* plugins/  needs QT_PLUGIN_INSTALL_DIR set
 
* lib/cmake needs CMAKECONFIG_INSTALL_DIR set
 
* lib/qml/org/kde/solid/libsolidextensionplugin.so  new file
 
* libexec can be put in a kf5 directory with LIBEXEC_INSTALL_DIR
 
 
 
= KActivities =
 
kdelibs 4 and kde frameworks 5 versions are co-installable
 
* plugins installed into plugins/kf5 to keep them separate
 
* kactivities library has been renamed with capital letters and new SONAME
 
* kactivitymanagerd can be shared between libkactivities in kde4 and in kf5, it has the same same dbus interface
 
* share/ontologies has been removed
 
 
 
= kde-runtime =
 
This is due to be split up shortly..
 
 
 
* kpasswdserver/ all good
 
* kdontchangethehostname/  all good
 
* kglobalaccel/  https://git.reviewboard.kde.org/r/116956/
 
* knotify/sounds/ some default sounds to be used by applications .notifyrc files, rename them all?
 
* ktimezoned  all good
 
* kuiserver  https://git.reviewboard.kde.org/r/117088/
 
* solid* all good
 
* kcontrol - needs kde-information.menu and kde-information.directory renamed but I can't find where they're used in kinfocenter
 
 
 
= KDE Workspace =
 
 
 
Not co-installable, the whole point is to have Plasma 2 and the workspace ported to KF5
 
 
 
= KControl Modules =
 
 
 
Various KControl modules in kde-runtime and kde-workspace need ported to KF5.
 
 
 
They will then edit files in the kf5 settings directory ~/.config/kf5 and not kde 4 settings.  For some it might be useful to share settings, a symlink from e.g. ~/.kde/share/config/kdeglobals to ~/.config/kf5/kdeglobals may work if the config values are the same.
 

Latest revision as of 13:35, 18 September 2014

KDE Frameworks 5 and Plasma 2 co-installability

It should be possible to install a kde frameworks 5 runtime alonside a kdelibs 4 runtime so apps can use either one

Many paths have changed by default so there is no clash

  • kdelibs 4 CONFIG_INSTALL_DIR: /usr/share/config
  • kf5 CONFIG_INSTALL_DIR: /etc/xdg
  • kdelibs 4 DATA_INSTALL_DIR: /usr/share/apps
  • kf5 DATA_INSTALL_DIR: /usr/share

HTML_INSTALL_DIR does clash as /usr/share/doc/HTML to allow khelpcentre to find docs from both kdelibs4 land and kf5 land

Plasma Next coinstallability page

kactivities

The libraries are co-installable, but the daemon is not.

  • libkactivities/qt5 requires kactivitymanagerd/qt5
  • libkactivities/qt4 works with both kactivitymanagerd/qt4 and kactivitymanagerd/qt5 (though, the later is advised since it is more stable)

In order to build only the library part of kactivities/qt4, you can pass -DKACTIVITIES_LIBRARY_ONLY=true to cmake. libkactivities/qt4 works with the qt5 version of the daemon.


This page was last edited on 18 September 2014, at 13:35. Content is available under Creative Commons License SA 4.0 unless otherwise noted.