diff --git a/akonadi-1.13.0-libs_only.patch b/akonadi-1.13.0-libs_only.patch new file mode 100644 index 0000000..96f48cd --- /dev/null +++ b/akonadi-1.13.0-libs_only.patch @@ -0,0 +1,33 @@ +diff -up akonadi-1.13.0/CMakeLists.txt.opt akonadi-1.13.0/CMakeLists.txt +--- akonadi-1.13.0/CMakeLists.txt.opt 2015-12-11 07:44:57.653216984 -0600 ++++ akonadi-1.13.0/CMakeLists.txt 2015-12-11 07:52:14.749205933 -0600 +@@ -339,22 +339,22 @@ endif() + + include_directories(${Akonadi_SOURCE_DIR} ${Akonadi_BINARY_DIR} ${QT_INCLUDES} ${Boost_INCLUDE_DIR}) + +-add_subdirectory(interfaces) ++add_subdirectory(interfaces) + add_subdirectory(libs) + set(AKONADI_PROTOCOLINTERNALS_LIBS ${akonadiprotocolinternals_LIB_DEPENDS} akonadiprotocolinternals) + +-add_subdirectory(shared) +-add_subdirectory(agentserver) +-add_subdirectory(server) ++#add_subdirectory(shared) ++#add_subdirectory(agentserver) ++#add_subdirectory(server) + +-add_subdirectory(rds) ++#add_subdirectory(rds) + if(NOT WIN32) +- add_subdirectory(asapcat) ++ #add_subdirectory(asapcat) + endif() + if (NOT QT5_BUILD) + if(SQLITE_FOUND) + option(SQLITE_LINK_STATIC "link libsqlite3 statically" FALSE) +- add_subdirectory(qsqlite) ++ #add_subdirectory(qsqlite) + endif() + endif() + diff --git a/akonadi.spec b/akonadi.spec index 0e597b8..e616592 100644 --- a/akonadi.spec +++ b/akonadi.spec @@ -1,3 +1,5 @@ +# Force out of source build +%undefine __cmake_in_source_build # base pkg default to SQLITE now, install -mysql if you want that instead %global database_backend SQLITE @@ -5,35 +7,17 @@ # trim changelog included in binary rpms %global _changelog_trimtime %(date +%s -d "1 year ago") -# legacy nepomuk/soprano support (ie, kde < 4.13) -%if 0%{?fedora} < 20 -%define soprano 1 -%endif - -%global mysql mysql -%if 0%{?rhel} > 6 -# el7 mariadb pkgs don't have compat Provides: mysql (apparently?) -%global mysql mariadb -%endif - -Summary: PIM Storage Service +Summary: PIM Storage Service Libraries Name: akonadi Version: 1.13.0 -Release: 22%{?dist} +Release: 130%{?dist} -License: LGPLv2+ +License: LGPL-2.0-or-later URL: http://community.kde.org/KDE_PIM/Akonadi -%if 0%{?snap} -# git clone git://git.kde.org/akonadi -# git archive --prefix=akonadi-%{version}/ master | bzip2 > akonadi-%{version}-%{snap}.tar.bz2 -Source0: akonadi-%{version}-%{snap}.tar.bz2 -%else -# Official release Source0: http://download.kde.org/stable/akonadi/src/akonadi-%{version}.tar.bz2 -%endif -## mysql config -Source10: akonadiserverrc.mysql +## downstream patches +Patch100: akonadi-1.13.0-libs_only.patch ## upstreamable patches @@ -68,180 +52,158 @@ Patch27: 0027-Minor-improvements-in-StatisticsCache-as-suggested-b.patch Patch28: 0028-Extend-imapparser-benchmark-and-keep-static-data-aro.patch Patch29: 0029-Reduce-the-amount-of-allocations-by-preallocating-a-.patch Patch30: 0030-Preallocate-a-capacity-of-16-for-the-returned-list.patch -Patch31: 0031-Less-C-11-fixes-build-with-clang.patch -Patch32: 0032-Don-t-throw-exception-when-MOVE-handler-finds-no-ite.patch -Patch33: 0033-Don-t-leak-old-external-payload-files.patch -Patch34: 0034-set-cmake_min_req-to-match-kdelibs4-and-enable-newer.patch - -%define mysql_conf_timestamp 20140709 BuildRequires: automoc4 BuildRequires: boost-devel BuildRequires: cmake >= 2.8.8 +BuildRequires: gcc-c++ # for xsltproc BuildRequires: libxslt BuildRequires: pkgconfig(QtDBus) pkgconfig(QtSql) pkgconfig(QtXml) BuildRequires: pkgconfig(shared-mime-info) -%if 0%{?soprano} -BuildRequires: pkgconfig(soprano) -%endif -BuildRequires: pkgconfig(sqlite3) >= 3.6.23 -# %%check -BuildRequires: dbus-x11 xorg-x11-server-Xvfb -# backends, used at buildtime to query known locations of server binaries -# FIXME/TODO: set these via cmake directives, avoids needless buildroot items -BuildRequires: mariadb-server -BuildRequires: postgresql-server - -%{?_qt4_version:Requires: qt4%{?_isa} >= %{_qt4_version}} - -Requires(postun): /sbin/ldconfig - -%if 0%{?fedora} > 21 -Recommends: %{name}-mysql = %{version}-%{release} -%endif %description %{summary}. %package devel Summary: Developer files for %{name} +Conflicts: kf5-akonadi-server-devel Requires: %{name}%{?_isa} = %{version}-%{release} %description devel %{summary}. -%package mysql -Summary: Akonadi MySQL backend support -# upgrade path -Obsoletes: akonadi < 1.7.90-2 -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{mysql}-server -%if "%{?mysql}" != "mariadb" && 0%{?fedora} > 20 -Recommends: mariadb-server -%endif -Requires: qt4-mysql%{?_isa} -Requires(post): %{_sbindir}/update-alternatives -Requires(postun): %{_sbindir}/update-alternatives -%description mysql -Configures akonadi to use mysql backend by default. - -Requires an available instance of mysql server at runtime. -Akonadi can spawn a per-user one automatically if the mysql-server -package is installed on the machine. -See also: %{_sysconfdir}/akonadi/mysql-global.conf - - %prep %autosetup -p1 -n akonadi-%{version} %build -mkdir %{_target_platform} -pushd %{_target_platform} -%{cmake} .. \ - -DCMAKE_BUILD_TYPE:STRING="Release" \ - -DCONFIG_INSTALL_DIR=%{_sysconfdir} \ - %{?database_backend:-DDATABASE_BACKEND=%{database_backend}} \ - -DINSTALL_QSQLITE_IN_QT_PREFIX:BOOL=ON \ - -DWITH_SOPRANO:BOOL=%{?soprano:ON}%{!?soprano:OFF} -popd - -make %{?_smp_mflags} -C %{_target_platform} +%cmake -DCMAKE_BUILD_TYPE:STRING="Release" +%cmake_build %install -make install/fast DESTDIR=$RPM_BUILD_ROOT -C %{_target_platform} - -install -p -m644 -D %{SOURCE10} %{buildroot}%{_sysconfdir}/xdg/akonadi/akonadiserverrc.mysql - -mkdir -p %{buildroot}%{_datadir}/akonadi/agents - -touch -d %{mysql_conf_timestamp} \ - %{buildroot}%{_sysconfdir}/akonadi/mysql-global*.conf \ - %{buildroot}%{_sysconfdir}/akonadi/mysql-local.conf - -# create/own %{_libdir}/akondi -mkdir -p %{buildroot}%{_libdir}/akonadi - -# %%ghost'd global akonadiserverrc -touch akonadiserverrc -install -p -m644 -D akonadiserverrc %{buildroot}%{_sysconfdir}/xdg/akonadi/akonadiserverrc +%cmake_install ## unpackaged files -# omit mysql-global-mobile.conf -rm -fv %{buildroot}%{_sysconfdir}/akonadi/mysql-global-mobile.conf +rm -fv %{buildroot}%{_datadir}/mime/packages/akonadi-mime.xml %check export PKG_CONFIG_PATH=%{buildroot}%{_datadir}/pkgconfig:%{buildroot}%{_libdir}/pkgconfig test "$(pkg-config --modversion akonadi)" = "%{version}" -# this one (still) fails in mock (local build ok): -# 14/14 Test #14: akonadi-dbconfigtest -xvfb-run -a dbus-launch --exit-with-session make test -C %{_target_platform} ||: -%post -/sbin/ldconfig -touch --no-create %{_datadir}/mime/packages &> /dev/null || : - -%posttrans -update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || : - -%postun -/sbin/ldconfig ||: -if [ $1 -eq 0 ] ; then - touch --no-create %{_datadir}/mime/packages &> /dev/null || : - update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null ||: -fi +%ldconfig_scriptlets %files -%doc AUTHORS lgpl-license -%dir %{_sysconfdir}/xdg/akonadi/ -%ghost %config(missingok,noreplace) %{_sysconfdir}/xdg/akonadi/akonadiserverrc -%dir %{_sysconfdir}/akonadi/ -%{_bindir}/akonadi_agent_launcher -%{_bindir}/akonadi_agent_server -%{_bindir}/akonadi_control -%{_bindir}/akonadi_rds -%{_bindir}/akonadictl -%{_bindir}/akonadiserver -%{_libdir}/akonadi/ +%doc AUTHORS +%license lgpl-license %{_libdir}/libakonadiprotocolinternals.so.1* -%{_datadir}/dbus-1/interfaces/org.freedesktop.Akonadi.*.xml -%{_datadir}/dbus-1/services/org.freedesktop.Akonadi.*.service -%{_datadir}/mime/packages/akonadi-mime.xml -%{_datadir}/akonadi/ -%{_qt4_plugindir}/sqldrivers/libqsqlite3.so %files devel -%{_bindir}/asapcat %{_includedir}/akonadi/ %{_libdir}/pkgconfig/akonadi.pc %{_libdir}/libakonadiprotocolinternals.so %{_libdir}/cmake/Akonadi/ - -%post mysql -%{_sbindir}/update-alternatives \ - --install %{_sysconfdir}/xdg/akonadi/akonadiserverrc \ - akonadiserverrc \ - %{_sysconfdir}/xdg/akonadi/akonadiserverrc.mysql \ - 10 - -%postun mysql -if [ $1 -eq 0 ]; then -%{_sbindir}/update-alternatives \ - --remove akonadiserverrc \ - %{_sysconfdir}/xdg/akonadi/akonadiserverrc.mysql -fi - -%files mysql -%config(noreplace) %{_sysconfdir}/xdg/akonadi/akonadiserverrc.mysql -%config(noreplace) %{_sysconfdir}/akonadi/mysql-global.conf -%config(noreplace) %{_sysconfdir}/akonadi/mysql-local.conf +%{_datadir}/dbus-1/interfaces/org.freedesktop.Akonadi.*.xml %changelog +* Fri Jan 16 2026 Fedora Release Engineering - 1.13.0-130 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Wed Jul 23 2025 Fedora Release Engineering - 1.13.0-129 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jan 16 2025 Fedora Release Engineering - 1.13.0-128 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Jul 17 2024 Fedora Release Engineering - 1.13.0-127 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Mon Jan 22 2024 Fedora Release Engineering - 1.13.0-126 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 1.13.0-125 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 1.13.0-124 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Jun 12 2023 Than Ngo - 1.13.0-123 +- migrated to SPDX license + +* Wed Jan 18 2023 Fedora Release Engineering - 1.13.0-122 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 1.13.0-121 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jan 19 2022 Fedora Release Engineering - 1.13.0-120 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 1.13.0-119 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon Jan 25 2021 Fedora Release Engineering - 1.13.0-118 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Jul 31 2020 Fedora Release Engineering - 1.13.0-117 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 1.13.0-116 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 1.13.0-115 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jul 24 2019 Fedora Release Engineering - 1.13.0-114 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 1.13.0-113 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jan 25 2019 Jonathan Wakely - 1.13.0-112 +- Rebuilt for Boost 1.69 + +* Thu Jul 12 2018 Fedora Release Engineering - 1.13.0-111 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Feb 20 2018 Rex Dieter - 1.13.0-110 +- BR: gcc-c++, use %%ldconfig_scriptlets + +* Wed Feb 07 2018 Fedora Release Engineering - 1.13.0-109 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Jan 23 2018 Jonathan Wakely - 1.13.0-108 +- Rebuilt for Boost 1.66 + +* Sun Aug 06 2017 Björn Esser - 1.13.0-107 +- Rebuilt for AutoReq cmake-filesystem + +* Wed Aug 02 2017 Fedora Release Engineering - 1.13.0-106 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.13.0-105 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Jul 18 2017 Jonathan Wakely - 1.13.0-104 +- Rebuilt for Boost 1.64 + +* Fri Feb 10 2017 Fedora Release Engineering - 1.13.0-103 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Feb 03 2016 Fedora Release Engineering - 1.13.0-102 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Dec 17 2015 Rex Dieter 1.13.0-101 +- -devel: re-enable dbus-1/interfaces, Conflicts: kf5-akonadi-server-devel + +* Fri Dec 11 2015 Rex Dieter 1.13.0-100 +- for kf5 kdepim world, build libakonadi bits only (omit server and related files) + * Thu Nov 12 2015 Rex Dieter 1.13.0-22 - Recommends: akonadi-mysql