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.
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/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/