File kdepim4.spec of Package kdepim4

#
# spec file for package kdepim4
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           kdepim4
Version:        4.14.10
Release:        0
Summary:        Base package of kdepim
License:        GPL-2.0+ and LGPL-2.1+
Group:          System/GUI/KDE
Url:            http://www.kde.org
Source0:        kdepim-%{version}.tar.xz
Patch1:         akregator-useragent.diff
Patch2:         desktop-files.diff
Patch3:         knode-kontact-default.diff
BuildRequires:  baloo-devel
BuildRequires:  cyrus-sasl-devel
BuildRequires:  fdupes
BuildRequires:  gpgme-devel
BuildRequires:  grantlee-devel
BuildRequires:  libakonadiprotocolinternals-devel >= 1.12.0
BuildRequires:  libassuan-devel
BuildRequires:  libbaloowidgets-devel
BuildRequires:  libkdepimlibs4-devel >= %version
BuildRequires:  libprison-devel
BuildRequires:  libqca2-devel
BuildRequires:  xz
Requires:       libkdepim4 = %{version}
Suggests:       akregator
Suggests:       kaddressbook
Suggests:       kalarm
Suggests:       kjots
Suggests:       kleopatra
Suggests:       kmail
Suggests:       knode
Suggests:       ktnef
Suggests:       knotes
Suggests:       kontact
Suggests:       korganizer
Suggests:       ktimetracker
Suggests:       libkdepim4
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%kde4_akonadi_requires
%kde4_pimlibs_requires
%kde4_runtime_requires

%description
This package contains the core files of the kdepim module.

%prep
%setup -q -n kdepim-%{version}
%patch1
%patch2
%patch3

%build
%ifarch ppc64
RPM_OPT_FLAGS="%{optflags} -mminimal-toc"
%endif
  %cmake_kde4 -d build -- -DKDEPIM_BUILD_MOBILE=OFF
  %make_jobs

%install
  cd build
  %kde4_makeinstall
  %create_subdir_filelist -d akregator -v devel
  %create_subdir_filelist -d kaddressbook -v devel
  %create_subdir_filelist -d kalarm -v devel
  %create_subdir_filelist -d kjots -v devel
  %create_subdir_filelist -d kleopatra/libkleopatraclient -f libkdepim -v libkdepim.devel
  %create_subdir_filelist -d kmail -v devel
  %create_subdir_filelist -d kmailcvt -f kmail
  %create_subdir_filelist -d knode -v devel
  %create_subdir_filelist -d ktnef -v devel
  %create_subdir_filelist -d knotes -v devel
  %create_subdir_filelist -d kontact -v devel
  %create_subdir_filelist -d korganizer -v devel
  %create_subdir_filelist -d ktimetracker
  %create_subdir_filelist -d libkdepim -v libkdepim.devel
  cd ..

  #remove kontact plugins' desktop files that are in subpackages from the kontact list
  akregatorplugins="%{_kde4_modulesdir}/kontact_akregatorplugin.so %{_kde4_servicesdir}/kontact/akregatorplugin.desktop"
  kaddressbookplugin="%{_kde4_modulesdir}/kontact_kaddressbookplugin.so"
  kjotsplugin="%{_kde4_modulesdir}/kontact_kjotsplugin.so %{_kde4_servicesdir}/kontact/kjots_plugin.desktop"
  kmailplugin="%{_kde4_modulesdir}/kontact_kmailplugin.so %{_kde4_servicesdir}/kontact/kmailplugin.desktop"
  knodeplugin="%{_kde4_modulesdir}/kontact_knodeplugin.so %{_kde4_servicesdir}/kontact/knodeplugin.desktop"
  knotesplugin="%{_kde4_modulesdir}/kontact_knotesplugin.so %{_kde4_servicesdir}/kontact/knotesplugin.desktop"
  korganizerplugins="%{_kde4_modulesdir}/kontact_journalplugin.so %{_kde4_modulesdir}/kontact_korganizerplugin.so %{_kde4_modulesdir}/kontact_todoplugin.so %{_kde4_servicesdir}/kontact/korganizerplugin.desktop %{_kde4_servicesdir}/kontact/journalplugin.desktop %{_kde4_servicesdir}/kontact/todoplugin.desktop"
  for i in $akregatorplugins $kaddressbookplugin $kjotsplugin $kmailplugin $knodeplugin $knotesplugin $korganizerplugins $ktimetrackerplugin
  do
    sed -ri s,$i,, filelists/kontact
  done
  for i in $akregatorplugins
  do
    echo $i >> filelists/akregator
  done
  for i in $kaddressbookplugin
  do
    echo $i >> filelists/kaddressbook
  done
  for i in $kjotsplugin
  do
    echo $i >> filelists/kjots
  done
  for i in $kmailplugin
  do
    echo $i >> filelists/kmail
  done
  for i in $knodeplugin
  do
    echo $i >> filelists/knode
  done
  for i in $knotesplugin
  do
    echo $i >> filelists/knotes
  done
  for i in $korganizerplugins
  do
    echo $i >> filelists/korganizer
  done
  for i in $ktimetrackerplugin
  do
    echo $i >> filelists/ktimetracker
  done

  sed -ri s,.*/usr/%{_lib}/libkabcommon.so.*,, filelists/kaddressbook

  grep "/usr/lib" filelists/libkdepim | grep "/kde4/" >filelists/libkdepim.devel
  cat filelists/libkdepim.devel | while read line; do echo "%exclude $line";done >>filelists/devel
  
  %create_exclude_filelist
  %suse_update_desktop_file -u akonadiconsole Network  Email
  %suse_update_desktop_file -u mboximporter Network Email
  %suse_update_desktop_file KNode           Network  News
  %suse_update_desktop_file Kjots           Utility TimeUtility
  %suse_update_desktop_file Kontact         Office   Core-Office
  %suse_update_desktop_file -r akregator       Network  RSS-News
  %suse_update_desktop_file kaddressbook    Office   ContactManagement
  %suse_update_desktop_file kalarm          Utility  TimeUtility
  %suse_update_desktop_file kleopatra       Utility Security
  %suse_update_desktop_file knotes          Utility  DesktopUtility
  %suse_update_desktop_file korganizer      Office   Calendar
  %suse_update_desktop_file ktimetracker            Utility  TimeUtility
  %suse_update_desktop_file -u importwizard    Network Email
  %suse_update_desktop_file sieveeditor    Network   Email
  %suse_update_desktop_file storageservicemanager     Network   Email
  %suse_update_desktop_file kaddressbook-importer    Office   ContactManagement

  %kde_post_install
  #Restrict fdupes call to not cause unwanted dependencies between packages
  %fdupes -s %{buildroot}%{_kde4_htmldir}
  %fdupes -s %{buildroot}%{_kde4_appsdir}/libkleopatra/
  %fdupes -s %{buildroot}%{_kde4_appsdir}/knode/
  %fdupes -s %{buildroot}%{_kde4_appsdir}/kmail2/
  %fdupes -s %{buildroot}%{_kde4_iconsdir}
  %kde_post_install

  rm %{buildroot}%{_kde4_libdir}/*.so
  grep -v "%{_kde4_libdir}/lib.*so$" filelists/akregator > filelists/akregator.upd
  grep -v "%{_kde4_libdir}/lib.*so$" filelists/exclude > filelists/exclude.upd
  grep -v "%{_kde4_libdir}/lib.*so$" filelists/kalarm > filelists/kalarm.upd
  grep -v "%{_kde4_libdir}/lib.*so$" filelists/knode > filelists/knode.upd
  grep -v "%{_kde4_libdir}/lib.*so$" filelists/korganizer > filelists/korganizer.upd
  grep -v "%{_kde4_libdir}/lib.*so$" filelists/libkdepim > filelists/libkdepim.upd
  rm filelists/devel
  
%post   -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%clean
  rm -rf %{buildroot}
  rm -rf filelists

%package -n akonadi
Summary:        KDE Resources for PIM Storage Service
License:        GPL-2.0+ and LGPL-2.1+
Group:          System/GUI/KDE
Requires:       kdepim4-runtime = %{version}
Provides:       kde4-akonadi = 4.3.0
Obsoletes:      akonadi-devel < 4.4.60
Obsoletes:      kde4-akonadi < 4.3.0
Provides:       akonadi-devel = 4.4.60
%kde4_runtime_requires
%kde4_pimlibs_requires
%kde4_akonadi_requires

%description -n akonadi
This package contains the KDE resources for Akonadi, the KDE PIM
storage service.

%post   -n akonadi -p /sbin/ldconfig

%postun -n akonadi -p /sbin/ldconfig

%files -n akonadi
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README
%dir %{_kde4_datadir}/akonadi
%dir %{_kde4_datadir}/akonadi/agents
%dir %{_kde4_libdir}/akonadi
%dir %{_kde4_libdir}/akonadi/contact
%dir %{_kde4_libdir}/akonadi/contact/editorpageplugins
%{_kde4_datadir}/akonadi/agents/followupreminder.desktop
%{_kde4_datadir}/akonadi/agents/mailfilteragent.desktop
%{_kde4_datadir}/akonadi/agents/notesagent.desktop
%{_kde4_datadir}/akonadi/agents/archivemailagent.desktop
%{_kde4_datadir}/akonadi/agents/sendlateragent.desktop
%{_kde4_datadir}/akonadi/agents/folderarchiveagent.desktop
%{_kde4_libdir}/akonadi/contact/editorpageplugins/cryptopageplugin.so

%package -n libakonadi_next4
Summary:        The library for the Akonadi PIM Storage Service
License:        GPL-2.0+ and LGPL-2.1+
Group:          System/GUI/KDE
Requires:       akonadi = %{version}

%description -n libakonadi_next4
This package contains the library for the Akonadi PIM
storage service.

%post   -n libakonadi_next4 -p /sbin/ldconfig

%postun -n libakonadi_next4 -p /sbin/ldconfig

%file -n libakonadi_next4
%defattr(-,root,root)
%doc COPYING* README
%{_libdir}/libakonadi_next.so.*

%package -n akregator
Summary:        RSS Feed Reader
License:        LGPL-2.1+
Group:          Productivity/Networking/News/Utilities
Requires:       libkdepim4 = %{version}
Provides:       kde4-akregator = 4.3.0
Obsoletes:      kde4-akregator < 4.3.0
%kde4_runtime_requires
%kde4_pimlibs_requires

%description -n akregator
A KDE Feed Aggregator

%post   -n akregator -p /sbin/ldconfig

%postun -n akregator -p /sbin/ldconfig

%files -n akregator -f filelists/akregator.upd
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README

%package -n kaddressbook
Summary:        Address Manager
License:        LGPL-2.1+
Group:          Productivity/Networking/Email/Utilities
Requires:       kdepim4-runtime = %{version}
Requires:       libkdepim4 = %{version}
Provides:       kde4-kaddressbook = 4.3.0
Obsoletes:      kde4-kaddressbook < 4.3.0
%kde4_akonadi_requires
%kde4_runtime_requires
%kde4_pimlibs_requires

%description -n kaddressbook
The KDE Address Book

%post   -n kaddressbook -p /sbin/ldconfig

%postun -n kaddressbook -p /sbin/ldconfig

%files -n kaddressbook -f filelists/kaddressbook
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README

%package -n kmail
Summary:        Mail Client
License:        GPL-2.0
Group:          Productivity/Networking/Email/Clients
Requires:       akonadi-runtime
Requires:       kdepim4-runtime = %{version}
Requires:       libkdepim4 = %{version}
Provides:       kde4-kmail = 4.3.0
Obsoletes:      kde4-kmail < 4.3.0
%kde4_runtime_requires
%kde4_pimlibs_requires

%description -n kmail
KMail is the KDE mail client.

%post   -n kmail -p /sbin/ldconfig

%postun -n kmail -p /sbin/ldconfig

%files -n kmail -f filelists/kmail
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README
%{_kde4_appsdir}/kmail2/pics/*
%{_kde4_configdir}/kmail.antispamrc
%{_kde4_configdir}/kmail.antivirusrc
%{_kde4_configdir}/ksieve_script.knsrc
%{_kde4_configdir}/messageviewer_header_themes.knsrc

%package -n knode
Summary:        News Reader
License:        LGPL-2.1+
Group:          Productivity/Networking/News/Clients
Requires:       libkdepim4 = %{version}
Provides:       kde4-knode = 4.3.0
Obsoletes:      kde4-knode < 4.3.0
%kde4_runtime_requires
%kde4_pimlibs_requires

%description -n knode
KNode is a usenet news reader for KDE.

%post   -n knode -p /sbin/ldconfig

%postun -n knode -p /sbin/ldconfig

%files -n knode -f filelists/knode.upd
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README
%{_kde4_appsdir}/knode/pics/*

%package -n ktnef
Summary:        Viewer for email attachments in TNEF format
License:        LGPL-2.1+
Group:          Productivity/Networking/Email/Clients
Requires:       akonadi-runtime
Requires:       kdepim4-runtime = %version
Requires:       libkdepim4 = %version
%kde4_runtime_requires
%kde4_pimlibs_requires

%description -n ktnef
KTNEF is a viewer for email attachments in the TNEF format.

%post -n ktnef -p /sbin/ldconfig

%postun -n ktnef -p /sbin/ldconfig

%files -n ktnef -f filelists/ktnef
%defattr(-,root,root)
%{_kde4_iconsdir}/locolor/*/*/ktnef*.png

%package -n knotes
Summary:        Popup Notes
License:        LGPL-2.1+
Group:          Productivity/Other
Requires:       libkdepim4 = %{version}
Provides:       kde4-knotes = 4.3.0
Obsoletes:      kde4-knotes < 4.3.0
%kde4_runtime_requires
%kde4_pimlibs_requires

%description -n knotes
KNotes is a note taking application for KDE.

%post   -n knotes -p /sbin/ldconfig

%postun -n knotes -p /sbin/ldconfig

%files -n knotes -f filelists/knotes
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README
%exclude %{_kde4_appsdir}/knotes/knotes_part.rc

%package -n kontact
Summary:        Personal Information Manager
License:        LGPL-2.1+
Group:          Productivity/Other
Requires:       libkdepim4 = %{version}
Recommends:     kmail
Suggests:       kaddressbook
Suggests:       kjots
Suggests:       knode
Suggests:       knotes
Suggests:       korganizer
Suggests:       ktimetracker
Obsoletes:      kde4-kontact < 4.3.0
Provides:       kde4-kontact = 4.3.0
%kde4_runtime_requires
%kde4_pimlibs_requires
%kde4_akonadi_requires

%description -n kontact
Kontact combines the individual applications KMail, KAddressBook and
KOrganizer as views in one window.

%post   -n kontact -p /sbin/ldconfig

%postun -n kontact -p /sbin/ldconfig

%files -n kontact -f filelists/kontact
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README

%package -n korganizer
Summary:        Personal Organizer
License:        GPL-2.0
Group:          Productivity/Office/Organizers
Requires:       kdepim4-runtime = %{version}
Requires:       libkdepim4 = %{version}
Provides:       kde4-korganizer = 4.3.0
Obsoletes:      kde4-korganizer < 4.3.0
%kde4_runtime_requires
%kde4_pimlibs_requires
%kde4_akonadi_requires

%description -n korganizer
KOrganizer is a calendar application for KDE.

%post   -n korganizer -p /sbin/ldconfig

%postun -n korganizer -p /sbin/ldconfig

%files -n korganizer -f filelists/korganizer.upd
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README
%{_kde4_configdir}/korganizer.knsrc
%{_kde4_datadir}/autostart/korgac.desktop
%{_kde4_servicetypesdir}/calendardecoration.desktop
%{_kde4_servicetypesdir}/calendarplugin.desktop

%package -n ktimetracker
Summary:        Personal Time Tracker
License:        LGPL-2.1+
Group:          Productivity/Other
Requires:       libkdepim4 = %{version}
Provides:       kde4-ktimetracker = 4.3.0
Obsoletes:      kde4-ktimetracker < 4.3.0
%kde4_runtime_requires
%kde4_pimlibs_requires

%description -n ktimetracker
KTimeTracker tracks time spent on various tasks.

%post   -n ktimetracker -p /sbin/ldconfig

%postun -n ktimetracker -p /sbin/ldconfig

%files -n ktimetracker -f filelists/ktimetracker
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README

%package -n kjots
Summary:        Note Taker
License:        GPL-2.0+
Group:          Productivity/Other
Requires:       libkdepim4 = %{version}
Provides:       kde4-kjots = 4.3.0
Obsoletes:      kde4-kjots < 4.3.0
%kde4_akonadi_requires
%kde4_runtime_requires
%kde4_pimlibs_requires

%description -n kjots
KDE Note Taking Utility

%post   -n kjots -p /sbin/ldconfig

%postun -n kjots -p /sbin/ldconfig

%files -n kjots -f filelists/kjots
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README

%package -n kalarm
Summary:        Personal Alarm Scheduler
License:        LGPL-2.1+
Group:          Productivity/Other
Requires:       libkdepim4 = %{version}
Provides:       kde4-kalarm = 4.3.0
Obsoletes:      kde4-kalarm < 4.3.0
%kde4_runtime_requires
%kde4_pimlibs_requires
%kde4_akonadi_requires

%description -n kalarm
Personal alarm message, command and email scheduler for KDE

%post -n kalarm -p /sbin/ldconfig

%postun -n kalarm -p /sbin/ldconfig

%files -n kalarm -f filelists/kalarm.upd
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README
%config %{_sysconfdir}/dbus-1/system.d/org.kde.kalarmrtcwake.conf

%package -n libkdepim4
Summary:        KDE PIM Libraries
License:        LGPL-2.1+
Group:          System/GUI/KDE
Obsoletes:      libkdepim4-devel < 4.6.0
Provides:       libkdepim4-devel = 4.6.0
%requires_eq akonadi
%requires_ge libqt4-x11

%description -n libkdepim4
This package contains the basic packages for KDE PIM applications.

%post   -n libkdepim4 -p /sbin/ldconfig

%postun -n libkdepim4 -p /sbin/ldconfig

%files -n libkdepim4 -f filelists/libkdepim.upd
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README
%{_kde4_modulesdir}/kcm_ldap.so
%{_kde4_modulesdir}/plugins/designer/kdepimwidgets.so

%files -f filelists/exclude.upd
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README
%doc %lang(en) %{_kde4_htmldir}/en/kontact-admin
%doc %lang(en) %{_kde4_htmldir}/en/kabcclient
%doc %lang(en) %{_kde4_htmldir}/en/konsolekalendar
%doc %lang(en) %{_kde4_htmldir}/en/kioslave/news
%doc %lang(en) %{_kde4_htmldir}/en/kioslave
%doc %lang(en) %{_kde4_htmldir}/en/kwatchgnupg
%doc %lang(en) %{_kde4_htmldir}/en/importwizard
%doc %lang(en) %{_kde4_htmldir}/en/headerthemeeditor
%doc %lang(en) %{_kde4_htmldir}/en/kleopatra
%doc %lang(en) %{_kde4_htmldir}/en/akonadi_*_agent
%doc %lang(en) %{_kde4_htmldir}/en/pimsettingexporter
%doc %lang(en) %{_kde4_htmldir}/en/contactthemeeditor
%doc %lang(en) %{_kde4_htmldir}/en/sieveeditor
%exclude %{_kde4_appsdir}/kmail2/pics/*
%exclude %{_kde4_appsdir}/knode/pics/*
%exclude %{_kde4_configdir}/messageviewer_header_themes.knsrc
%{_kde4_applicationsdir}/*
%{_kde4_appsdir}
%{_kde4_bindir}/*
%{_kde4_configdir}/libkleopatrarc
%{_kde4_configkcfgdir}
%{_kde4_datadir}/dbus-1/interfaces/*
%{_kde4_iconsdir}/hicolor
%{_kde4_iconsdir}/oxygen
%{_kde4_libdir}/*.so.*
%{_kde4_mandir}/man1/kabcclient.1.gz
%{_kde4_modulesdir}/*
%{_kde4_servicesdir}

%changelog
openSUSE Build Service is sponsored by