Difference between revisions of "Frameworks/Coinstallability"

Jump to: navigation, search
(Dependencies:)
(kactivities)
 
(34 intermediate revisions by 6 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/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
 
  
These are files which can be shared between kdelibs 4 and kde frameworks 5
+
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.
  
* share/locale/  can be shared
+
* link to the original discussion: https://git.reviewboard.kde.org/r/115602/
* share/mime/packages/kde.xml can be shared
 
* share/icons/hicolor/ - kimproxy icons can be shared
 
* share/doc can be shared
 
* etc/dbus-1/system.d/org.kde.auth.conf can be shared
 
* etc/xdg/ can be shared
 
 
 
Some files are only needed for developers where the kdelibs and kdeframeworks packages can be made to conflict
 
 
 
* share/dbus-1/interfaces/  dev files
 
* share/kauth/ dev files and DATA_INSTALL_DIR
 
* share/cmake/modules/ dev files and DATA_INSTALL_DIR
 
 
 
== binaries: ==
 
 
 
Some are renamed already or a new:
 
* bin/kdeinit5_shutdown
 
* bin/kbuildsycoca5
 
* bin/kdeinit5_wrapper
 
* bin/meinproc5
 
* bin/kdeinit5
 
* bin/kf5-config
 
* bin/kded5
 
* bin/desktoptojson
 
* bin/kshell5
 
* bin/kwrapper5
 
* bin/kcookiejar5 (arguably a developer only binary)
 
 
 
Some are developer only binaries, the -dev package can be muturally exclusive:
 
* bin/makekdewidgets
 
* bin/checkXML
 
* bin/preparetips
 
* bin/kconfig_compiler
 
* bin/kjs
 
* bin/kjscmd
 
 
 
Kross is probably unimportant enough to just swap for KF5 version, this can be used to run some non-GUI kross scripts
 
* bin/kross
 
 
 
Some are interchangeable binaries:
 
* bin/kmailservice
 
* bin/ktelnetservice
 
 
 
== libraries: ==
 
All libraries renamed and versoned 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
 
* developer files in include/ and lib/pkgconfig and lib/cmake/ will be mutually exclusive
 
* 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/kao* can be shared
 
 
 
= kde-runtime =
 
Much of kde-runtime is yet to be ported
 
 
 
== binaries ==
 
renamed binaries
 
* kcmshell5
 
 
 
interchangeable binaries, packagers should use the version from kde sc 5 and drop the version from kde sc 4
 
* kdecp
 
* kdemv
 
* kdeopen
 
* kioclient
 
* ktrash
 
 
 
== plugins ==
 
* kioexec set a separate LIBEXEC_INSTALL_DIR
 
* plugins/kf5 set a separate PLUGIN_INSTALL_DIR
 
 
 
== data files ==
 
* jpegcreatorsettings.kcfg set a separate KCFG_INSTALL_DIR e.g.  /usr/share/kf5/config.kcfg
 
* kcmlocale/pics/background.png  set a separate DATA_INSTALL_DIR
 
* .desktop and .protocol files set SERVICES_INSTALL_DIR to e.g. /usr/share/kde5/services
 
 
 
== developer files ==
 
* org.kde.KTimeZoned.xml  interface file, no longer installed https://git.reviewboard.kde.org/r/113819/
 
 
 
= 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.