54154b7
%global framework akonadi-server
54154b7
Rex Dieter df177dd
54154b7
# base pkg default to SQLITE now, install -mysql if you want that instead
54154b7
%global database_backend SQLITE
54154b7
54154b7
# trim changelog included in binary rpms
54154b7
%global _changelog_trimtime %(date +%s -d "1 year ago")
54154b7
54154b7
%global mysql mysql
54154b7
%if 0%{?rhel} > 6
54154b7
# el7 mariadb pkgs don't have compat Provides: mysql (apparently?)
54154b7
%global mysql mariadb
54154b7
%endif
54154b7
54154b7
Name:           kf5-%{framework}
54154b7
Summary:        PIM Storage Service
495b580
Version:        15.11.90
Rex Dieter df177dd
Release:        2%{?dist}
54154b7
54154b7
License:        LGPLv2+
54154b7
URL:            https://projects.kde.org/packages/kde/pim/akonadi
54154b7
54154b7
%global revision %(echo %{version} | cut -d. -f3)
54154b7
%if %{revision} >= 50
54154b7
%global stable unstable
54154b7
%else
54154b7
%global stable stable
54154b7
%endif
54154b7
Source0:        http://download.kde.org/%{stable}/applications/%{version}/src/akonadi-%{version}.tar.xz
54154b7
54154b7
## mysql config
54154b7
Source10:       akonadiserverrc.mysql
54154b7
54154b7
## upstreamable patches
54154b7
54154b7
## upstream patches
54154b7
54154b7
%define mysql_conf_timestamp 20140709
54154b7
54154b7
BuildRequires:  extra-cmake-modules
54154b7
BuildRequires:  kf5-rpm-macros
54154b7
BuildRequires:  qt5-qtbase-devel
54154b7
BuildRequires:  qt5-qtxmlpatterns-devel
54154b7
54154b7
# for xsltproc
54154b7
BuildRequires:  libxslt
54154b7
BuildRequires:  pkgconfig(shared-mime-info)
54154b7
BuildRequires:  pkgconfig(sqlite3) >= 3.6.23
54154b7
54154b7
# backends, used at buildtime to query known locations of server binaries
54154b7
# FIXME/TODO: set these via cmake directives, avoids needless buildroot items
54154b7
BuildRequires:  mariadb-server
54154b7
BuildRequires:  postgresql-server
54154b7
54154b7
Requires:       kf5-filesystem
54154b7
Rex Dieter df177dd
Conflicts:      akonadi < 1.13.0-100
54154b7
54154b7
%description
54154b7
%{summary}.
54154b7
54154b7
%package devel
54154b7
Summary:        Developer files for %{name}
54154b7
Requires:       %{name}%{?_isa} = %{version}-%{release}
Rex Dieter df177dd
Conflicts:      akonadi-devel < 1.13.0-100
54154b7
%description devel
54154b7
%{summary}.
54154b7
54154b7
%package mysql
54154b7
Summary:        Akonadi MySQL backend support
54154b7
# upgrade path
54154b7
Obsoletes:      akonadi < 1.7.90-2
54154b7
Obsoletes:      akonadi-mysql < 15.08.0
54154b7
Requires:       %{name}%{?_isa} = %{version}-%{release}
54154b7
Requires:       %{mysql}-server
54154b7
%if "%{?mysql}" != "mariadb" && 0%{?fedora} > 20
54154b7
Recommends:     mariadb-server
54154b7
%endif
54154b7
Requires:       qt5-qtbase-mysql%{?_isa}
54154b7
Requires(post): %{_sbindir}/update-alternatives
54154b7
Requires(postun): %{_sbindir}/update-alternatives
54154b7
%description mysql
54154b7
Configures akonadi to use mysql backend by default.
54154b7
54154b7
Requires an available instance of mysql server at runtime.
54154b7
Akonadi can spawn a per-user one automatically if the mysql-server
54154b7
package is installed on the machine.
54154b7
See also: %{_sysconfdir}/akonadi/mysql-global.conf
54154b7
54154b7
54154b7
%prep
54154b7
%setup -q -n akonadi-%{version}
54154b7
54154b7
54154b7
%build
54154b7
mkdir %{_target_platform}
54154b7
pushd %{_target_platform}
54154b7
%{cmake_kf5} .. \
54154b7
  %{?database_backend:-DDATABASE_BACKEND=%{database_backend}} \
54154b7
  -DINSTALL_QSQLITE_IN_QT_PREFIX:BOOL=ON
54154b7
popd
54154b7
54154b7
make %{?_smp_mflags} -C %{_target_platform}
54154b7
54154b7
54154b7
%install
54154b7
make install/fast DESTDIR=$RPM_BUILD_ROOT -C %{_target_platform}
54154b7
54154b7
install -p -m644 -D %{SOURCE10} %{buildroot}%{_sysconfdir}/xdg/akonadi/akonadiserverrc.mysql
54154b7
54154b7
mkdir -p %{buildroot}%{_datadir}/akonadi/agents
54154b7
54154b7
touch -d %{mysql_conf_timestamp} \
54154b7
  %{buildroot}%{_sysconfdir}/xdg/akonadi/mysql-global*.conf \
54154b7
  %{buildroot}%{_sysconfdir}/xdg/akonadi/mysql-local.conf
54154b7
54154b7
# create/own %{_kf5_libdir}/akonadi
54154b7
mkdir -p %{buildroot}%{_kf5_libdir}/akonadi
54154b7
54154b7
# %%ghost'd global akonadiserverrc
54154b7
touch akonadiserverrc
54154b7
install -p -m644 -D akonadiserverrc %{buildroot}%{_sysconfdir}/xdg/akonadi/akonadiserverrc
54154b7
54154b7
## unpackaged files
54154b7
# omit mysql-global-mobile.conf
54154b7
rm -fv %{buildroot}%{_sysconfdir}/xdg/akonadi/mysql-global-mobile.conf
54154b7
Rex Dieter df177dd
54154b7
%post
54154b7
/sbin/ldconfig
54154b7
touch --no-create %{_datadir}/mime/packages &> /dev/null || :
54154b7
54154b7
%posttrans
54154b7
update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || :
54154b7
54154b7
%postun
54154b7
/sbin/ldconfig ||:
54154b7
if [ $1 -eq 0 ] ; then
54154b7
  touch --no-create %{_datadir}/mime/packages &> /dev/null || :
54154b7
  update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null ||:
54154b7
fi
54154b7
54154b7
%files
54154b7
%doc AUTHORS README
54154b7
%license lgpl-license
54154b7
%dir %{_sysconfdir}/xdg/akonadi/
54154b7
%ghost %config(missingok,noreplace) %{_sysconfdir}/xdg/akonadi/akonadiserverrc
54154b7
%{_sysconfdir}/xdg/akonadi.categories
54154b7
%{_kf5_bindir}/akonadi_agent_launcher
54154b7
%{_kf5_bindir}/akonadi_agent_server
54154b7
%{_kf5_bindir}/akonadi_control
54154b7
%{_kf5_bindir}/akonadi_rds
54154b7
%{_kf5_bindir}/akonadictl
54154b7
%{_kf5_bindir}/akonadiserver
54154b7
%{_kf5_libdir}/akonadi/
54154b7
%{_kf5_libdir}/libKF5AkonadiPrivate.so.*
54154b7
%{_kf5_datadir}/dbus-1/interfaces/org.freedesktop.Akonadi.*.xml
54154b7
%{_kf5_datadir}/dbus-1/services/org.freedesktop.Akonadi.*.service
54154b7
%{_kf5_datadir}/mime/packages/akonadi-mime.xml
54154b7
%{_kf5_datadir}/akonadi/
54154b7
%{_kf5_qtplugindir}/sqldrivers/libqsqlite3.so
54154b7
54154b7
%files devel
54154b7
%{_kf5_bindir}/asapcat
54154b7
%{_kf5_includedir}/akonadi/
54154b7
%{_kf5_libdir}/libKF5AkonadiPrivate.so
54154b7
%{_kf5_libdir}/cmake/KF5AkonadiServer/
54154b7
54154b7
%post mysql
54154b7
%{_sbindir}/update-alternatives \
54154b7
  --install %{_sysconfdir}/xdg/akonadi/akonadiserverrc \
54154b7
  akonadiserverrc \
54154b7
  %{_sysconfdir}/xdg/akonadi/akonadiserverrc.mysql \
54154b7
  10
54154b7
54154b7
%postun mysql
54154b7
if [ $1 -eq 0 ]; then
54154b7
%{_sbindir}/update-alternatives \
54154b7
  --remove akonadiserverrc \
54154b7
  %{_sysconfdir}/xdg/akonadi/akonadiserverrc.mysql
54154b7
fi
54154b7
54154b7
%files mysql
54154b7
%config(noreplace) %{_sysconfdir}/xdg/akonadi/akonadiserverrc.mysql
54154b7
%config(noreplace) %{_sysconfdir}/xdg/akonadi/mysql-global.conf
54154b7
%config(noreplace) %{_sysconfdir}/xdg/akonadi/mysql-local.conf
54154b7
54154b7
54154b7
%changelog
Rex Dieter df177dd
* Fri Dec 11 2015 Rex Dieter <rdieter@fedoraproject.org> 15.11.90-2
Rex Dieter df177dd
- Conflicts: akonadi < 1.13.0-100 (#1289646)
Rex Dieter df177dd
495b580
* Mon Dec 07 2015 Jan Grulich <jgrulich@redhat.com> - 15.11.90-1
495b580
- Update to 15.11.90
495b580
54154b7
* Thu Dec 03 2015 Jan Grulich <jgrulich@redhat.com> - 15.11.80-1
54154b7
- Update to 15.11.80
54154b7
54154b7
* Mon Aug 24 2015 Daniel Vrátil <dvratil@redhat.com> - 15.08.0-1
54154b7
- Initial version, based on akonadi.spec