|
|
(30 intermediate revisions by 4 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
| + | 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
| |
− | * 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 =
| + | [[Plasma/Coinstallability|Plasma Next coinstallability page]] |
− | == data files: ==
| |
| | | |
− | Most install into DATA_INSTALL_DIR which can be made version specific, e.g. /usr/share/kde4/ and /usr/share/kdeframeworks5
| + | = kactivities = |
| | | |
− | * share/LICENSES/ DATA_INSTALL_DIR
| + | The libraries are co-installable, but the daemon is not. |
− | * share/kcharselect/kcharselect-data DATA_INSTALL_DIR
| |
− | * 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!
| + | * 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) |
| | | |
− | These are files which could 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/ | + | * link to the original discussion: https://git.reviewboard.kde.org/r/115602/ |
− | 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/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/kconfig_compiler -> bin/kconfig_compiler_kf5
| |
− | * bin/makekdewidgets -> bin/kgendesignerplugin
| |
− | * bin/kwalletd -> bin/kwalletd5
| |
− | | |
− | Others are on it's way:
| |
− | | |
− | * bin/checkXML
| |
− | * bin/preparetips
| |
− | * bin/kjscmd
| |
− | | |
− | == 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
| |
− | * 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.
| |