Frameworks/Coinstallability: Difference between revisions

From KDE Community Wiki
No edit summary
(Add windows note)
 
(60 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
In addition, under Windows, the file names of the executables provided by the framework must differ from those of the KDE4 counterpart, as the 'libexecdir' directory is mapped to the 'bin' directory.
* 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: =
[[Plasma/Coinstallability|Plasma Next coinstallability page]]


Most installed into DATA_INSTALL_DIR which can be made version specific, e.g. /usr/share/kde4/ and /usr/share/kdeframeworks5
= kactivities =


* share/locale/  can be shared
The libraries are co-installable, but the daemon is not.
* share/LICENSES/  DATA_INSTALL_DIR
* 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/ confirm can be shared or move to oxygen
* share/doc confirm can be shared
* share/kssl/ confirm can be shared
* share/kconfigwidgets confirm can be shared
* share/knewstuff/pics confirm can be shared
* share/kconf_update confirm can be shared
* share/kjava confirm can be shared
* share/proxyscout/ confirm can be shared
* share/cmake/modules/ dev files
* share/kcm_componentchooser/ confirm can be shared
* share/kdewidgets/ confirm can be shared
* etc/dbus-1/system.d/org.kde.auth.conf confirm can be shared
* etc/xdg/ confirm can be shared


== binaries: ==
* 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)


* bin/kdeinit5_shutdown
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/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: ==
* link to the original discussion: https://git.reviewboard.kde.org/r/115602/
 
* 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

Latest revision as of 12:01, 21 September 2020

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

In addition, under Windows, the file names of the executables provided by the framework must differ from those of the KDE4 counterpart, as the 'libexecdir' directory is mapped to the 'bin' directory.

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.