KTp/Packaging Guide: Difference between revisions
Update page to be transcludable on main KTp project page |
|||
(54 intermediate revisions by 22 users not shown) | |||
Line 1: | Line 1: | ||
Packaging KDE-Telepathy is complicated for two reasons: | <noinclude>{{:KTp/Header}}</noinclude> | ||
Packaging KDE-Telepathy is complicated for two reasons: | |||
# Due to the modular nature of Telepathy, there are several distinct components, each in separate Git repositories. | |||
# There are large numbers of runtime inter-dependencies to worry about. | |||
This page attempts to ease packaging KDE-Telepathy in a useful way by explaining these issues. | |||
=== Upstream packages === | |||
Several upstream packages are essential for KDE-Telepathy to work. These are the ones encountered as dependencies in a normal compilation: | |||
* [https://telepathy.freedesktop.org/releases/telepathy-qt/ <code>telepathy-qt</code>] >= LATEST (currently 0.9.8), Build and Runtime Dependency | |||
* [https://telepathy.freedesktop.org/releases/telepathy-mission-control/ <code>telepathy-mission-control</code>] >= 5.7.9 (currently 5.16.6), Runtime Dependency | |||
* [https://qjson.sourceforge.net/ <code>QJson</code>] Build Dependency for [https://invent.kde.org/network/ktp-auth-handler <code>ktp-auth-handler</code>] | |||
* [https://gstreamer.freedesktop.org/modules/qt-gstreamer.html <code>QtGStreamer</code>] Build Dependency for [https://invent.kde.org/network/ktp-call-ui <code>ktp-call-ui</code>] | |||
* [https://telepathy.freedesktop.org/releases/telepathy-logger/ <code>telepathy-logger</code>] Build and Runtime Dependency for [https://invent.kde.org/network/telepathy-logger-qt <code>telepathy-logger-qt</code>] | |||
* [https://invent.kde.org/unmaintained/kdelibs <code>kdelibs</code>] >= 4.7.0 (currently 4.14.0), Build and Runtime Dependency | |||
The IM networks that KDE-Telepathy can connect to are | The IM networks that KDE-Telepathy can connect to are determined by which ''Telepathy Connection Managers'' are installed. These are runtime-only dependencies, but which ones are installed will decide what IM networks KDE-Telepathy supports. The following are the ones we recommend—whether they are installed optionally or required is, of course, up to you. | ||
* [https://telepathy.freedesktop.org/releases/telepathy-gabble/ <code>telepathy-gabble</code>] >= 0.13.7 (currently 0.18.4), for Jabber/XMPP support, including Google Talk and Facebook, might very probably crash with earlier versions | |||
* [https://telepathy.freedesktop.org/releases/telepathy-haze/ <code>telepathy-haze</code>] for all the other protocols, as supported by [https://keep.imfreedom.org/pidgin/pidgin/file/tip/libpurple <code>libpurple</code>] | |||
* [https://telepathy.freedesktop.org/releases/telepathy-farstream/ <code>telepathy-farstream</code>] should be compiled '''before''' <code>telepathy-qt</code> for compilation of <code>ktp-call-ui</code> to proceed | |||
=== KDE-Telepathy packages === | |||
The different components of KDE-Telepathy are housed in separate Git repositories on KDE Invent's [https://invent.kde.org/network Network group]. Some of these components are currently recommended to use, while others are not yet ready to be installed by users. | |||
== | ==== Ready components ==== | ||
= | |||
These components have reached a level of maturity where they are interesting to users. We recommend providing these components at the current time. | These components have reached a level of maturity where they are interesting to users. We recommend providing these components at the current time. | ||
{| class="wikitable" | {| class="wikitable" style="border-width: 1px;" | ||
! Name ! | ! scope="col" | Name | ||
|- | ! scope="col" | Description | ||
| [https:// | ! scope="col" | Dependencies | ||
|- | |- | ||
| [https:// | ! scope="row" style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-common-internals <code>ktp-common-internals</code>] | ||
|- | | Internal library | ||
| [https:// | | style="text-align: center; white-space: nowrap;" | [https://telepathy.freedesktop.org/releases/telepathy-qt/ <code>telepathy-qt</code>] | ||
|- | |- | ||
| [https:// | ! scope="row" style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-accounts-kcm <code>ktp-accounts-kcm</code>] | ||
|- | | Account management KCM | ||
| [https:// | | style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-common-internals <code>ktp-common-internals</code>] | ||
|- | |||
| [https:// | ! scope="row" style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-approver <code>ktp-approver</code>] | ||
| KDED module that shows a notification when somebody starts a chat with you | |||
| [https:// | | style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-common-internals <code>ktp-common-internals</code>] | ||
|- | |- | ||
| [https:// | ! scope="row" style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-text-ui <code>ktp-text-ui</code>] | ||
|- | | Text chat application | ||
| [https:// | | style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-common-internals <code>ktp-common-internals</code>] | ||
|- | |- | ||
| [https:// | ! scope="row" style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-contact-list <code>ktp-contact-list</code>] | ||
|- | | Contact list application – also provides icons and other data files that are shared among the other applications | ||
| style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-common-internals <code>ktp-common-internals</code>] | |||
|- | |||
! scope="row" style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-kded-module <code>ktp-kded-module</code>] | |||
| Workspace integration module – provides several plugins like auto-away, the infamous 'Now listening to...' and also an error handler (important!!) | |||
| style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-common-internals <code>ktp-common-internals</code>] | |||
|- | |||
! scope="row" style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-desktop-applets <code>ktp-desktop-applets</code>] | |||
| Plasma widgets – provides a presence applet which acts as the central system tray icon of traditional IM clients, a simplified contact list, an applet which represents a single contact and can be used to trigger actions like 'Send mail' and 'Initiate conversation', … | |||
| style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-common-internals <code>ktp-common-internals</code>] | |||
|- | |||
! scope="row" style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-filetransfer-handler <code>ktp-filetransfer-handler</code>] | |||
| Background application for handling file transfers | |||
| style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-common-internals <code>ktp-common-internals</code>] | |||
|- | |||
! scope="row" style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-auth-handler <code>ktp-auth-handler</code>] | |||
| Background application for handling passwords and SSL/TLS certificates | |||
| style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-common-internals <code>ktp-common-internals</code>] | |||
|- | |||
! scope="row" style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-send-file <code>ktp-send-file</code>] | |||
| Dolphin/Konqueror context menu plugin for easily sending files to contacts | |||
| style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-common-internals <code>ktp-common-internals</code>]<br />[https://invent.kde.org/network/ktp-filetransfer-handler <code>ktp-filetransfer-handler</code>] <small>(at runtime)</small> | |||
|- | |||
! scope="row" style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-call-ui <code>ktp-call-ui</code>] | |||
| Voice and video chat with contacts | |||
| style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-common-internals <code>ktp-common-internals</code>] | |||
|- | |||
! scope="row" style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-contact-runner <code>ktp-contact-runner</code>] | |||
| Show contacts in KRunner | |||
| style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-common-internals <code>ktp-common-internals</code>] | |||
|- | |||
! scope="row" style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/telepathy-logger-qt <code>telepathy-logger-qt</code>] | |||
| Provides support for loading saved message logs | |||
| style="text-align: center; white-space: nowrap;" | [https://invent.kde.org/network/ktp-common-internals <code>ktp-common-internals</code>]<br />[https://telepathy.freedesktop.org/releases/telepathy-logger/ <code>telepathy-logger</code>]<br />[https://gstreamer.freedesktop.org/src/qt-gstreamer/ <code>QtGLib</code>] <small> (from QtGStreamer)</small> | |||
|} | |} | ||
* '''Required components for basic functionality:''' | |||
** [https://invent.kde.org/network/ktp-accounts-kcm <code>ktp-accounts-kcm</code>] | |||
** [https://invent.kde.org/network/ktp-contact-list <code>ktp-contact-list</code>] | |||
** [https://invent.kde.org/network/ktp-text-ui <code>ktp-text-ui</code>] | |||
** [https://invent.kde.org/network/ktp-auth-handler <code>ktp-auth-handler</code>] | |||
** [https://invent.kde.org/network/ktp-kded-module <code>ktp-kded-module</code>] | |||
* '''Highly recommended components (should be installed by default):''' | |||
** [https://invent.kde.org/network/ktp-approver <code>ktp-approver</code>] | |||
** [https://invent.kde.org/network/ktp-desktop-applets <code>ktp-desktop-applets</code>] | |||
** [https://invent.kde.org/network/ktp-call-ui <code>ktp-call-ui</code>] | |||
** [https://invent.kde.org/network/ktp-filetransfer-handler <code>ktp-filetransfer-handler</code>] | |||
** [https://invent.kde.org/network/telepathy-logger-qt <code>telepathy-logger-qt</code>] | |||
** [https://invent.kde.org/network/ktp-contact-runner <code>ktp-contact-runner</code>] | |||
* '''Optional components:''' | |||
** [https://invent.kde.org/network/ktp-send-file <code>ktp-send-file</code>] | |||
==== Experimental components ==== | |||
Several other components are under development, however unless they are listed above, we do not recommend packaging them yet. This is because they are subject to major changes/removal at any time, and are not ready for end users. | |||
==== Note about accounts-kcm-plugins ==== | |||
Our <code>0.1.0</code> release had an extra package called <code>telepathy-kde-accounts-kcm-plugins</code>. These plugins have now been merged into the main <code>telepathy-kde-accounts-kcm</code> package and are no longer shipped separately. | |||
== | |||
== | === Release tarballs === | ||
The latest release is <code>0.9.0</code>. Tarballs can be found at the [https://download.kde.org/Attic/kde-telepathy/0.9.0/src/ KDE FTP mirrors]. | |||
Here is a list of known packaging | === Distributions === | ||
Here is a list of known packaging efforts for various distributions. If you are also doing packages for a distribution, please add your information here. | |||
{| | {| class="wikitable" style="border-width: 1px; margin: 1em auto;" | ||
! Distro ! | ! scope="col" | Distro | ||
|- | ! scope="col" | Packager | ||
| Debian | | ! scope="col" | Links | ||
|- | |||
|- | ! scope="row" | Debian | ||
| [mailto:[email protected] George Kiagiadakis] | |||
Binaries: https://launchpad.net/~telepathy-kde/+archive/ppa | | https://salsa.debian.org/qt-kde-team/kde/meta-kde-telepathy | ||
Binaries: https://launchpad.net/~telepathy-kde/+archive/daily-builds | |- | ||
|- | ! scope="row" | Ubuntu | ||
| | | [mailto:[email protected] Michał Zając] | ||
| | | Source: https://code.launchpad.net/ubuntu/+source/meta-kde-telepathy<br /> | ||
|- | Binaries (stable): https://launchpad.net/~telepathy-kde/+archive/ubuntu/ppa<br /> | ||
| Arch Linux | | Binaries (latest): https://launchpad.net/~telepathy-kde/+archive/ubuntu/daily-builds | ||
https:// | |- | ||
|- | ! scope="row" | openSUSE | ||
| | | [mailto:opensuse-kde@opensuse.org The openSUSE Community] | ||
| https://en.opensuse.org/KDE_Telepathy | |||
|- | |- | ||
! scope="row" | Arch Linux | |||
| [mailto:[email protected] Andrea Scarpino (ilpianista)] | |||
| https://archlinux.org/packages/?q=telepathy | |||
|- | |||
! scope="row" | Gentoo | |||
| [mailto:[email protected] KDE Project] | |||
| https://packages.gentoo.org/packages/kde-apps/plasma-telepathy-meta | |||
|- | |||
! scope="row" | FreeBSD | |||
| [mailto:avilla@FreeBSD.org Alberto Villa (avilla)] | |||
| https://www.freshports.org/net-im/kde-telepathy/ | |||
|- | |||
! scope="row" | Fedora | |||
| [mailto:jgrulich@redhat.com Jan Grulich (jgrulich)] | |||
| https://src.fedoraproject.org/rpms/telepathy-accounts-signon | |||
|} | |} |
Latest revision as of 22:27, 26 February 2024
Packaging KDE-Telepathy is complicated for two reasons:
- Due to the modular nature of Telepathy, there are several distinct components, each in separate Git repositories.
- There are large numbers of runtime inter-dependencies to worry about.
This page attempts to ease packaging KDE-Telepathy in a useful way by explaining these issues.
Upstream packages
Several upstream packages are essential for KDE-Telepathy to work. These are the ones encountered as dependencies in a normal compilation:
telepathy-qt
>= LATEST (currently 0.9.8), Build and Runtime Dependencytelepathy-mission-control
>= 5.7.9 (currently 5.16.6), Runtime DependencyQJson
Build Dependency forktp-auth-handler
QtGStreamer
Build Dependency forktp-call-ui
telepathy-logger
Build and Runtime Dependency fortelepathy-logger-qt
kdelibs
>= 4.7.0 (currently 4.14.0), Build and Runtime Dependency
The IM networks that KDE-Telepathy can connect to are determined by which Telepathy Connection Managers are installed. These are runtime-only dependencies, but which ones are installed will decide what IM networks KDE-Telepathy supports. The following are the ones we recommend—whether they are installed optionally or required is, of course, up to you.
telepathy-gabble
>= 0.13.7 (currently 0.18.4), for Jabber/XMPP support, including Google Talk and Facebook, might very probably crash with earlier versionstelepathy-haze
for all the other protocols, as supported bylibpurple
telepathy-farstream
should be compiled beforetelepathy-qt
for compilation ofktp-call-ui
to proceed
KDE-Telepathy packages
The different components of KDE-Telepathy are housed in separate Git repositories on KDE Invent's Network group. Some of these components are currently recommended to use, while others are not yet ready to be installed by users.
Ready components
These components have reached a level of maturity where they are interesting to users. We recommend providing these components at the current time.
Name | Description | Dependencies |
---|---|---|
ktp-common-internals
|
Internal library | telepathy-qt
|
ktp-accounts-kcm
|
Account management KCM | ktp-common-internals
|
ktp-approver
|
KDED module that shows a notification when somebody starts a chat with you | ktp-common-internals
|
ktp-text-ui
|
Text chat application | ktp-common-internals
|
ktp-contact-list
|
Contact list application – also provides icons and other data files that are shared among the other applications | ktp-common-internals
|
ktp-kded-module
|
Workspace integration module – provides several plugins like auto-away, the infamous 'Now listening to...' and also an error handler (important!!) | ktp-common-internals
|
ktp-desktop-applets
|
Plasma widgets – provides a presence applet which acts as the central system tray icon of traditional IM clients, a simplified contact list, an applet which represents a single contact and can be used to trigger actions like 'Send mail' and 'Initiate conversation', … | ktp-common-internals
|
ktp-filetransfer-handler
|
Background application for handling file transfers | ktp-common-internals
|
ktp-auth-handler
|
Background application for handling passwords and SSL/TLS certificates | ktp-common-internals
|
ktp-send-file
|
Dolphin/Konqueror context menu plugin for easily sending files to contacts | ktp-common-internals ktp-filetransfer-handler (at runtime)
|
ktp-call-ui
|
Voice and video chat with contacts | ktp-common-internals
|
ktp-contact-runner
|
Show contacts in KRunner | ktp-common-internals
|
telepathy-logger-qt
|
Provides support for loading saved message logs | ktp-common-internals telepathy-logger QtGLib (from QtGStreamer)
|
- Required components for basic functionality:
- Highly recommended components (should be installed by default):
- Optional components:
Experimental components
Several other components are under development, however unless they are listed above, we do not recommend packaging them yet. This is because they are subject to major changes/removal at any time, and are not ready for end users.
Note about accounts-kcm-plugins
Our 0.1.0
release had an extra package called telepathy-kde-accounts-kcm-plugins
. These plugins have now been merged into the main telepathy-kde-accounts-kcm
package and are no longer shipped separately.
Release tarballs
The latest release is 0.9.0
. Tarballs can be found at the KDE FTP mirrors.
Distributions
Here is a list of known packaging efforts for various distributions. If you are also doing packages for a distribution, please add your information here.