Frameworks/Coinstallability
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
Dependencies:
Qt libraries it depends on already have two versions with different sonames or different names
- phonon - rename done
- 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
data files:
Most install into DATA_INSTALL_DIR which can be made version specific, e.g. /usr/share/kde4/ and /usr/share/kdeframeworks5
- share/LICENSES/ DATA_INSTALL_DIR
- 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/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
- share/locale/ can be shared
- 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/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
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.