summaryrefslogtreecommitdiff
path: root/libre/kdepim-libre
diff options
context:
space:
mode:
Diffstat (limited to 'libre/kdepim-libre')
-rw-r--r--libre/kdepim-libre/PKGBUILD282
-rw-r--r--libre/kdepim-libre/fix-completion.patch182
-rw-r--r--libre/kdepim-libre/kdepim-akregator.install12
-rw-r--r--libre/kdepim-libre/kdepim-kleopatra.install12
-rw-r--r--libre/kdepim-libre/kdepim-kmail.install12
-rw-r--r--libre/kdepim-libre/kdepim-knode.install12
-rw-r--r--libre/kdepim-libre/kdepim-korganizer.install12
-rw-r--r--libre/kdepim-libre/kdepim-ktnef.install12
-rw-r--r--libre/kdepim-libre/kdepim.install11
9 files changed, 547 insertions, 0 deletions
diff --git a/libre/kdepim-libre/PKGBUILD b/libre/kdepim-libre/PKGBUILD
new file mode 100644
index 000000000..be15c03fb
--- /dev/null
+++ b/libre/kdepim-libre/PKGBUILD
@@ -0,0 +1,282 @@
+# $Id: PKGBUILD 205354 2014-02-04 14:04:58Z svenstaro $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgbase=kdepim
+pkgbase=kdepim-libre
+pkgname=('kdepim-akonadiconsole-libre'
+ 'kdepim-akregator-libre'
+ 'kdepim-blogilo-libre'
+ 'kdepim-console-libre'
+ 'kdepim-kaddressbook-libre'
+ 'kdepim-kalarm-libre'
+ 'kdepim-kjots-libre'
+ 'kdepim-kleopatra-libre'
+ 'kdepim-kmail-libre'
+ 'kdepim-knode-libre'
+ 'kdepim-knotes-libre'
+ 'kdepim-kontact-libre'
+ 'kdepim-korganizer-libre'
+ 'kdepim-kresources-libre'
+ 'kdepim-ktimetracker-libre'
+ 'kdepim-ktnef-libre'
+ 'kdepim-libkdepim-libre')
+pkgver=4.12.2
+pkgrel=1
+arch=('i686' 'x86_64' 'mips64el')
+url='http://pim.kde.org'
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdepim-libre')
+makedepends=('cmake' 'automoc4' 'boost' 'kdepim-runtime' 'libxss'
+ 'nepomuk-widgets' 'link-grammar')
+source=("http://download.kde.org/stable/${pkgver}/src/${_pkgbase}-${pkgver}.tar.xz")
+sha1sums=('c1e5f3284ab23233632ae27edb85f80588bb7e86')
+
+build() {
+ mkdir build
+ cd build
+ cmake ../${_pkgbase}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DKDE4_BUILD_TESTS=OFF \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DKDEPIM_BUILD_MOBILE=OFF
+ make
+}
+
+package_kdepim-akonadiconsole-libre() {
+ pkgdesc='Akonadi Management and Debugging Console, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim' 'nepomuk-widgets')
+ url='http://pim.kde.org'
+ replaces=('kdepim-akonadiconsole')
+ conflicts=('kdepim-akonadiconsole')
+ provides=("kdepim-akonadiconsole=${pkgver}")
+ install='kdepim.install'
+ cd "${srcdir}"/build/akonadiconsole
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-akregator-libre() {
+ pkgdesc='A Feed Reader for KDE, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url="http://kde.org/applications/internet/akregator/"
+ replaces=('kdepim-akregator')
+ conflicts=('kdepim-akregator')
+ provides=("kdepim-akregator=${pkgver}")
+ install='kdepim-akregator.install'
+ cd "${srcdir}"/build/akregator
+ make DESTDIR="${pkgdir}" install
+ cd "${srcdir}"/build/kontact/plugins/akregator
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-blogilo-libre() {
+ pkgdesc='A KDE Blogging Client, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url="http://kde.org/applications/internet/blogilo/"
+ replaces=('kdepim-blogilo' 'blogilo')
+ conflicts=('kdepim-blogilo' 'blogilo')
+ provides=("kdepim-blogilo=${pkgver}")
+ install='kdepim.install'
+ cd "${srcdir}"/build/blogilo
+ make DESTDIR="${pkgdir}" install
+ cd "${srcdir}"/build/composereditor-ng
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-console-libre() {
+ pkgdesc='Command line tool for accessing calendar files, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url='http://pim.kde.org'
+ replaces=('kdepim-console')
+ conflicts=('kdepim-console')
+ provides=("kdepim-console=${pkgver}")
+ install='kdepim.install'
+ cd "${srcdir}"/build/console
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-kaddressbook-libre() {
+ pkgdesc='Contact Manager, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url="http://kde.org/applications/office/kaddressbook/"
+ replaces=('kdepim-kaddressbook')
+ conflicts=('kdepim-kaddressbook')
+ provides=("kdepim-kaddressbook=${pkgver}")
+ install='kdepim.install'
+ for i in kaddressbook kontact/plugins/kaddressbook \
+ plugins/kaddressbook contactthemeeditor; do
+ cd "${srcdir}"/build/${i}
+ make DESTDIR="${pkgdir}" install
+ done
+}
+
+package_kdepim-kalarm-libre() {
+ pkgdesc='Personal Alarm Scheduler, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url="http://kde.org/applications/utilities/kalarm/"
+ replaces=('kdepim-kalarm')
+ conflicts=('kdepim-kalarm')
+ provides=("kdepim-kalarm=${pkgver}")
+ install='kdepim.install'
+ cd "${srcdir}"/build/kalarm
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-kjots-libre() {
+ pkgdesc='Note Taker, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url="http://kde.org/applications/utilities/kjots/"
+ replaces=('kdepim-kjots')
+ conflicts=('kdepim-kjots')
+ provides=("kdepim-kjots=${pkgver}")
+ install='kdepim.install'
+ cd "${srcdir}"/build/kjots
+ make DESTDIR="${pkgdir}" install
+ cd "${srcdir}"/build/kontact/plugins/kjots
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-kleopatra-libre() {
+ pkgdesc='Certificate Manager and Unified Crypto GUI, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ install='kdepim-kleopatra.install'
+ url="http://kde.org/applications/utilities/kleopatra/"
+ replaces=('kdepim-kleopatra')
+ conflicts=('kdepim-kleopatra')
+ provides=("kdepim-kleopatra=${pkgver}")
+ cd "${srcdir}"/build/kleopatra
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-kmail-libre() {
+ pkgdesc='Mail Client, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url="http://kde.org/applications/internet/kmail/"
+ install='kdepim-kmail.install'
+ conflicts=('kdepim-kmail' 'kdepim-kmailcvt' 'kdepim-ksendemail' 'kdepim-libksieve'
+ 'kdepim-mimelib' 'kdepim-plugins')
+ replaces=('kdepim-kmail' 'kdepim-kmailcvt' 'kdepim-ksendemail' 'kdepim-libksieve'
+ 'kdepim-mimelib' 'kdepim-plugins')
+ provides=("kdepim-kmail=${pkgver}")
+ for i in kmail kmailcvt agents/archivemailagent agents/folderarchiveagent\
+ agents/mailfilteragent importwizard ksendemail libksieve messagelist \
+ ontologies kontact/plugins/kmail headerthemeeditor mboximporter; do
+ cd "${srcdir}"/build/${i}
+ make DESTDIR="${pkgdir}" install
+ done
+}
+
+package_kdepim-knode-libre() {
+ pkgdesc='News Reader, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url="http://kde.org/applications/internet/knode/"
+ replaces=('kdepim-knode')
+ conflicts=('kdepim-knode')
+ provides=("kdepim-knode=${pkgver}")
+ install='kdepim-knode.install'
+ cd "${srcdir}"/build/knode
+ make DESTDIR="${pkgdir}" install
+ cd "${srcdir}"/build/kontact/plugins/knode
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-knotes-libre() {
+ pkgdesc='Popup Notes, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url="http://kde.org/applications/utilities/knotes/"
+ replaces=('kdepim-knotes')
+ conflicts=('kdepim-knotes')
+ provides=("kdepim-knotes=${pkgver}")
+ install='kdepim.install'
+ cd "${srcdir}"/build/knotes
+ make DESTDIR="${pkgdir}" install
+ cd "${srcdir}"/build/kontact/plugins/knotes
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-kontact-libre() {
+ pkgdesc='Personal Information Manager, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url="http://kde.org/applications/office/kontact/"
+ install='kdepim.install'
+ conflicts=('kdepim-kontact' 'kdepim-kontactinterfaces')
+ replaces=('kdepim-kontact' 'kdepim-kontactinterfaces')
+ provides=("kdepim-kontact=${pkgver}")
+ for i in kontact/src kontact/plugins/summary \
+ kontact/plugins/specialdates; do
+ cd "${srcdir}"/build/${i}
+ make DESTDIR="${pkgdir}" install
+ done
+}
+
+package_kdepim-korganizer-libre() {
+ pkgdesc='Calendar and Scheduling Program, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url="http://kde.org/applications/office/korganizer"
+ replaces=('kdepim-korganizer')
+ conflicts=('kdepim-korganizer')
+ provides=("kdepim-korganizer=${pkgver}")
+ install='kdepim-korganizer.install'
+ for i in korganizer korgac kontact/plugins/korganizer calendarviews; do
+ cd "${srcdir}"/build/${i}
+ make DESTDIR="${pkgdir}" install
+ done
+}
+
+package_kdepim-kresources-libre() {
+ pkgdesc='KDE PIM resources, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url='http://pim.kde.org'
+ replaces=('kdepim-kresources')
+ conflicts=('kdepim-kresources')
+ provides=("kdepim-kresources=${pkgver}")
+ cd "${srcdir}"/build/kresources
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-ktimetracker-libre() {
+ pkgdesc='Personal Time Tracker, without nonfree pilot-link support'
+ depends=('kdepim-kresources')
+ url="http://kde.org/applications/utilities/ktimetracker/"
+ replaces=('kdepim-ktimetracker')
+ conflicts=('kdepim-ktimetracker')
+ provides=("kdepim-ktimetracker=${pkgver}")
+ install='kdepim.install'
+ cd "${srcdir}"/build/ktimetracker
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-ktnef-libre() {
+ pkgdesc='A viewer/extractor for TNEF files, without nonfree pilot-link support'
+ depends=('kdebase-runtime' 'kdepimlibs')
+ url="https://projects.kde.org/projects/kde/kdepim/ktnef"
+ install=kdepim-ktnef.install
+ replaces=('kdepim-ktnef')
+ conflicts=('kdepim-ktnef')
+ provides=("kdepim-ktnef=${pkgver}")
+ cd "${srcdir}"/build/ktnef
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-libkdepim-libre() {
+ pkgdesc='Library for KDE PIM, without nonfree pilot-link support'
+ groups=()
+ depends=('kde-agent' 'kdepim-runtime' 'link-grammar')
+ url='http://pim.kde.org'
+ conflicts=('kdepim-libkdepim' 'kdepim-icons' 'kdepim-libkleo' 'kdepim-libkpgp'
+ 'kdepim-akonadi')
+ replaces=('kdepim-libkdepim' 'kdepim-icons' 'kdepim-libkleo' 'kdepim-libkpgp'
+ 'kdepim-akonadi')
+ provides=("kdepim-libkdepim=${pkgver}")
+ for i in agents/sendlateragent akonadi_next calendarsupport \
+ incidenceeditor-ng kaddressbookgrantlee kdgantt2 libkdepim \
+ libkdepimdbusinterfaces libkleo libkpgp mailcommon mailimporter \
+ messagecomposer messagecore messageviewer icons templateparser \
+ plugins/messageviewer grammar grantleetheme grantleethemeeditor \
+ plugins/ktexteditor pimactivity pimcommon pimsettingexporter; do
+ cd "${srcdir}"/build/${i}
+ make DESTDIR="${pkgdir}" install
+ done
+}
diff --git a/libre/kdepim-libre/fix-completion.patch b/libre/kdepim-libre/fix-completion.patch
new file mode 100644
index 000000000..c2edefe00
--- /dev/null
+++ b/libre/kdepim-libre/fix-completion.patch
@@ -0,0 +1,182 @@
+commit 6a06c57f52a00018d607085efa7570deb91dc707
+Author: David Faure <faure@kde.org>
+Date: Mon Apr 8 17:41:39 2013 +0200
+
+ Fix kmail autocompletion from akonadi.
+
+ My commit 02f5f0214e made autocompletion from nepomuk work better, but broke
+ completion from akonadi. I kept the "keywords" based code, but now it's only
+ used for the special case of nickname-based search (because the nickname shouldn't
+ appear in the completion item). For everything else it really doesn't make sense
+ to have a search engine (akonadi/nepomuk) on top of a search engine
+ (the one inside KCompletion).
+
+ This time I verified that:
+ * nepomuk search still works
+ * contacts from akonadi work again
+ * contact groups from akonadi work (after previous commit)
+ * nickname-search in akonadi still doesn't work, but it didn't before. More work
+ needed for that one. This is the only reason to keep KMailCompletion around btw,
+ everything else would work without it.
+
+ BUG: 259949
+ FIXED-IN: 4.10.3
+
+diff --git a/libkdepim/addresseelineedit.cpp b/libkdepim/addresseelineedit.cpp
+index b7b11be..ec4caf9 100644
+--- a/libkdepim/addresseelineedit.cpp
++++ b/libkdepim/addresseelineedit.cpp
+@@ -30,6 +30,8 @@
+ #include "completionordereditor.h"
+ #endif
+
++#include "kmailcompletion.h"
++
+ #include <Akonadi/Contact/ContactSearchJob>
+ #include <Akonadi/Contact/ContactGroupSearchJob>
+ #include <Akonadi/CollectionFetchJob>
+@@ -77,6 +79,10 @@
+
+ using namespace KPIM;
+
++namespace KPIM {
++ typedef QMap< QString, QPair<int,int> > CompletionItemsMap;
++}
++
+ class AddresseeLineEditStatic
+ {
+ public:
+@@ -496,11 +502,9 @@ void AddresseeLineEdit::Private::addCompletionItem( const QString &string, int w
+ s_static->completionItemMap.insert( string, qMakePair( weight, completionItemSource ) );
+ }
+
+- if ( keyWords == 0 ) {
+- s_static->completion->addItem( string, weight );
+- } else {
+- s_static->completion->addItemWithKeys( string, weight, keyWords );
+- }
++ s_static->completion->addItem(string, weight);
++ if (keyWords && !keyWords->isEmpty())
++ s_static->completion->addItemWithKeys(string, weight, keyWords); // see kmailcompletion.cpp
+ }
+
+ const QStringList KPIM::AddresseeLineEdit::Private::adjustedCompletionItems( bool fullSearch )
+@@ -1348,17 +1352,13 @@ void AddresseeLineEdit::addItem( const Akonadi::Item &item, int weight, int sour
+ void AddresseeLineEdit::addContactGroup( const KABC::ContactGroup &group, int weight, int source )
+ {
+ d->addCompletionItem( group.name(), weight, source );
+- QStringList keyWords;
+- keyWords.append( group.name() );
+- d->addCompletionItem( group.name(), weight, source, &keyWords );
+ }
+
+ void AddresseeLineEdit::addContact( const KABC::Addressee &addr, int weight, int source )
+ {
+ const QStringList emails = addr.emails();
+ QStringList::ConstIterator it;
+- const int prefEmailWeight = 1; //increment weight by prefEmailWeight
+- int isPrefEmail = prefEmailWeight; //first in list is preferredEmail
++ int isPrefEmail = 1; //first in list is preferredEmail
+ QStringList::ConstIterator end( emails.constEnd() );
+ for ( it = emails.constBegin(); it != end; ++it ) {
+ //TODO: highlight preferredEmail
+@@ -1368,40 +1368,6 @@ void AddresseeLineEdit::addContact( const KABC::Addressee &addr, int weight, int
+ const QString nickName = addr.nickName();
+ QString fullEmail = addr.fullEmail( email );
+
+- // Prepare keywords (for CompletionShell, CompletionPopup)
+- QStringList keyWords;
+- const QString realName = addr.realName();
+-
+- if ( !givenName.isEmpty() && !familyName.isEmpty() ) {
+- keyWords.append( givenName + QLatin1Char( ' ' ) + familyName );
+- keyWords.append( familyName + QLatin1Char( ' ' ) + givenName );
+- keyWords.append( familyName + QLatin1String( ", " ) + givenName );
+- } else if ( !givenName.isEmpty() ) {
+- keyWords.append( givenName );
+- } else if ( !familyName.isEmpty() ) {
+- keyWords.append( familyName );
+- }
+-
+- if ( !nickName.isEmpty() ) {
+- keyWords.append( nickName );
+- }
+-
+- if ( !realName.isEmpty() ) {
+- keyWords.append( realName );
+- }
+-
+- keyWords.append( email );
+-
+- /* KMailCompletion does not have knowledge about identities, it stores emails and
+- * keywords for each email. KMailCompletion::allMatches does a lookup on the
+- * keywords and returns an ordered list of emails. In order to get the preferred
+- * email before others for each identity we use this little trick.
+- * We remove the <blank> in adjustedCompletionItems.
+- */
+- if ( isPrefEmail == prefEmailWeight ) {
+- fullEmail.replace( QLatin1String( " <" ), QLatin1String( " <" ) );
+- }
+-
+ // Prepare "givenName" + ' ' + "familyName"
+ QString fullName = givenName;
+ if (!familyName.isEmpty()) {
+@@ -1413,12 +1379,16 @@ void AddresseeLineEdit::addContact( const KABC::Addressee &addr, int weight, int
+ // Finally, we can add the completion items
+ if (!fullName.isEmpty()) {
+ const QString address = KPIMUtils::normalizedAddress(fullName, email, QString());
+- d->addCompletionItem(address, weight + isPrefEmail, source, &keyWords);
++ if (fullEmail != address) {
++ // This happens when fullEmail contains a middle name, while our own fullName+email only has "first last".
++ // Let's offer both, the fullEmail with 3 parts, looks a tad formal.
++ d->addCompletionItem(address, weight + isPrefEmail, source);
++ }
+ }
+
+- if ( !nickName.isEmpty() ) {
+- const QString address = KPIMUtils::normalizedAddress(nickName, email, QString());
+- d->addCompletionItem(address, weight + isPrefEmail, source, &keyWords);
++ QStringList keyWords;
++ if (!nickName.isEmpty()) {
++ keyWords.append(nickName);
+ }
+
+ d->addCompletionItem( fullEmail, weight + isPrefEmail, source, &keyWords );
+diff --git a/libkdepim/addresseelineedit.h b/libkdepim/addresseelineedit.h
+index 4e6784b..b2af4a9 100644
+--- a/libkdepim/addresseelineedit.h
++++ b/libkdepim/addresseelineedit.h
+@@ -27,7 +27,6 @@
+ #ifndef KDEPIM_ADDRESSEELINEEDIT_H
+ #define KDEPIM_ADDRESSEELINEEDIT_H
+
+-#include "kmailcompletion.h"
+ #include "kdepim_export.h"
+
+ #include "ldap/ldapclient.h"
+@@ -50,10 +49,6 @@ namespace KABC {
+ class ContactGroup;
+ }
+
+-namespace KPIM {
+- typedef QMap< QString, QPair<int,int> > CompletionItemsMap;
+-}
+-
+ namespace Nepomuk2 {
+ namespace Query {
+ class Result;
+diff --git a/libkdepim/kmailcompletion.h b/libkdepim/kmailcompletion.h
+index e8574cc..93771d3 100644
+--- a/libkdepim/kmailcompletion.h
++++ b/libkdepim/kmailcompletion.h
+@@ -32,7 +32,9 @@ namespace KPIM {
+
+ /**
+ * KMailCompletion allows lookup of email addresses by keyword.
+- * Typically a keywods would be firstname, lastname, nickname or domain.
++ * This is used for lookup by nickname, since we don't want the nickname to appear in the final email.
++ * E.g. you have a nickname "idiot" for your boss, you want to type "idiot" but you want the completion
++ * to offer "Full Name <email@domain>", without the nickname being visible.
+ */
+ class KMailCompletion : public KCompletion
+ {
diff --git a/libre/kdepim-libre/kdepim-akregator.install b/libre/kdepim-libre/kdepim-akregator.install
new file mode 100644
index 000000000..5787df72f
--- /dev/null
+++ b/libre/kdepim-libre/kdepim-akregator.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/kdepim-libre/kdepim-kleopatra.install b/libre/kdepim-libre/kdepim-kleopatra.install
new file mode 100644
index 000000000..5787df72f
--- /dev/null
+++ b/libre/kdepim-libre/kdepim-kleopatra.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/kdepim-libre/kdepim-kmail.install b/libre/kdepim-libre/kdepim-kmail.install
new file mode 100644
index 000000000..5787df72f
--- /dev/null
+++ b/libre/kdepim-libre/kdepim-kmail.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/kdepim-libre/kdepim-knode.install b/libre/kdepim-libre/kdepim-knode.install
new file mode 100644
index 000000000..5787df72f
--- /dev/null
+++ b/libre/kdepim-libre/kdepim-knode.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/kdepim-libre/kdepim-korganizer.install b/libre/kdepim-libre/kdepim-korganizer.install
new file mode 100644
index 000000000..5787df72f
--- /dev/null
+++ b/libre/kdepim-libre/kdepim-korganizer.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/kdepim-libre/kdepim-ktnef.install b/libre/kdepim-libre/kdepim-ktnef.install
new file mode 100644
index 000000000..5787df72f
--- /dev/null
+++ b/libre/kdepim-libre/kdepim-ktnef.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/kdepim-libre/kdepim.install b/libre/kdepim-libre/kdepim.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/libre/kdepim-libre/kdepim.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}