Frameworks/Coinstallability: Difference between revisions

From KDE Community Wiki
(add kactivities)
No edit summary
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: =
= Dependencies: =


Qt libraries it depends on already have two versions with different sonames or different names
Qt libraries it depends on already have two versions with different sonames or different names
Line 10: Line 10:
* attica - rename done
* attica - rename done
* dbusmenu - rename done
* dbusmenu - rename done
* libstream and libstreamanalyzer - not qt libraries so no rename needed
* 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.
* grantlee - not ported to Qt 5 but it is only used for a test which is disabled.



Revision as of 14:28, 5 November 2013

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

Some are developer only binaries, the -dev package can be muturally exclusive:

  • bin/makekdewidgets
  • bin/checkXML
  • bin/preparetips
  • bin/kconfig_compiler

Some are interchangeable binaries:

  • bin/kmailservice
  • bin/ktelnetservice
Some are runtime binaries and need confirmed if they are interchangeable or need renamed:
* bin/kjs
* bin/kjscmd
* bin/kcookiejar4
* bin/kross

libraries:

All libraries renamed and versoned to 5.0.0 except
* libkimproxy.so.4.12.0

just 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 need to be co-installable for application use (e.g. rekonq)

  • developer files in include/ and lib/pkgconfig and lib/cmake/ will be mutually exclusive
  • plugins installed into plugins/kf5 to keep them separate
* main library has same soname and needs renamed libKActivities.so.6.2.0
* kactivitymanagerd needs renamed
* share/ontologies/kao* need renamed (I assume nepomuk will be the same)