Frameworks/Coinstallability: Difference between revisions

From KDE Community Wiki
(data files are good, can be shared, installed into separate directory and are dev files)
(58 intermediate revisions by 6 users not shown)
Line 1: Line 1:
= KDE Frameworks 5 co-installability =
= 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
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
* libstream and libstreamanalyzer - not qt libraries so no rename needed
* grantlee - not ported to Qt 5 but it is only used for a test which is disabled.


= data files: =
= kactivities =


Most installed 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/locale/ can be shared
* libkactivities/qt5 requires kactivitymanagerd/qt5
* share/LICENSES/ DATA_INSTALL_DIR
* libkactivities/qt4 works with both kactivitymanagerd/qt4 and kactivitymanagerd/qt5 (though, the later is advised since it is more stable)
* share/kcharselect/kcharselect-data  DATA_INSTALL_DIR
* share/ksgmltools2  DATA_INSTALL_DIR
* share/dbus-1/interfaces/  dev files
* share/mime/packages/kde.xml can be shared
* share/xmlgui/pics/aboutkde.png DATA_INSTALL_DIR
* share/khtml/ DATA_INSTALL_DIR
* share/kauth/ dev files
* share/icons/hicolor/ - kimproxy icons can be shared
* share/doc can be shared
* share/kssl/ DATA_INSTALL_DIR
* share/kconfigwidgets DATA_INSTALL_DIR (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/cmake/modules/ dev files
* share/kcm_componentchooser/ DATA_INSTALL_DIR
* share/kdewidgets/ DATA_INSTALL_DIR
* etc/dbus-1/system.d/org.kde.auth.conf can be shared
* etc/xdg/ can be shared


== binaries: ==
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.


* bin/kdeinit5_shutdown
* link to the original discussion: https://git.reviewboard.kde.org/r/115602/
* bin/makekdewidgets
* bin/kjs
* bin/kjscmd
* bin/kded5
* bin/checkXML
* bin/kcookiejar4
* bin/kdeinit5_wrapper
* bin/desktoptojson
* bin/ktelnetservice
* bin/kshell4
* bin/meinproc5
* bin/kross
* bin/kdeinit5
* bin/preparetips
* bin/kmailservice
* bin/kconfig_compiler
* bin/kf5-config
* bin/kbuildsycoca5
* bin/kwrapper4
 
== libraries: ==
 
* lib/*.so.5.0.0 libraries are new or renamed
* lib/*.so.4.12.0 bump soname
* lib/*.so.5.12.0 bump soname
* libKPrintUtils.so.SOVERSION fix soname
* libkdeinit4_klauncher.so eh?
* plugins/  packager to install to diff directory
* lib/qml/org/kde/solid/libsolidextensionplugin.so  check
* lib/cmake  dev files?
* lib/libKDE4Attic.so.1 all new

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.