[kdepimlibs] pkgconfig-style deps "Mimetype tree is not a DAG!" errors + crashes when using SMI 0.91 (#749618)
Rex Dieter
rdieter at fedoraproject.org
Thu Oct 27 17:04:24 UTC 2011
commit 346e6362614dbdb1aae0f185fab16a2ad368f675
Author: Rex Dieter <rdieter at fedoraproject.org>
Date: Thu Oct 27 12:11:50 2011 -0500
pkgconfig-style deps
"Mimetype tree is not a DAG!" errors + crashes when using SMI 0.91 (#749618)
kdepimlibs-4.7.2-akonadi_mimetypes.patch | 38 ++++++++++++++++++++++++++++++
kdepimlibs.spec | 36 ++++++++++++++++-----------
2 files changed, 59 insertions(+), 15 deletions(-)
---
diff --git a/kdepimlibs-4.7.2-akonadi_mimetypes.patch b/kdepimlibs-4.7.2-akonadi_mimetypes.patch
new file mode 100644
index 0000000..5fb858b
--- /dev/null
+++ b/kdepimlibs-4.7.2-akonadi_mimetypes.patch
@@ -0,0 +1,38 @@
+commit 70197a817da44ff406e52ea0dd8ba3b2416c3097
+Author: David Faure <faure at kde.org>
+Date: Sun Oct 16 17:13:42 2011 +0200
+
+ Resolve alias read from the desktop file too.
+
+ Fixes a crash with shared-mime-info 0.91 where text/directory
+ was replaced with text/vcard (which was made an alias).
+ BUG: 283615
+ FIXED-IN: 4.7.3
+ (cherry picked from commit e86bd47521fffd2d28d048c7d8ab6c4e6a4d909a)
+
+diff --git a/akonadi/typepluginloader.cpp b/akonadi/typepluginloader.cpp
+index 8dcb337..a80ca98 100644
+--- a/akonadi/typepluginloader.cpp
++++ b/akonadi/typepluginloader.cpp
+@@ -240,12 +240,15 @@ class PluginRegistry
+ QRegExp rx( QLatin1String( "(.+)@(.+)" ) );
+ Q_FOREACH ( const QString & name, names )
+ if ( rx.exactMatch( name ) ) {
+- const QString mimeType = rx.cap(1);
+- const QByteArray classType = rx.cap(2).toLatin1();
+- QMap<QString,MimeTypeEntry>::iterator it = map.find( mimeType );
+- if ( it == map.end() )
+- it = map.insert( mimeType, MimeTypeEntry( mimeType ) );
+- it->add( classType, PluginEntry( name ) );
++ KMimeType::Ptr mime = KMimeType::mimeType( rx.cap(1), KMimeType::ResolveAliases );
++ if ( mime ) {
++ const QString mimeType = mime->name();
++ const QByteArray classType = rx.cap(2).toLatin1();
++ QMap<QString,MimeTypeEntry>::iterator it = map.find( mimeType );
++ if ( it == map.end() )
++ it = map.insert( mimeType, MimeTypeEntry( mimeType ) );
++ it->add( classType, PluginEntry( name ) );
++ }
+ } else {
+ kDebug() << "ItemSerializerPluginLoader: "
+ << "name" << name << "doesn't look like mimetype at classtype" << endl;
diff --git a/kdepimlibs.spec b/kdepimlibs.spec
index e03eb89..629e65d 100644
--- a/kdepimlibs.spec
+++ b/kdepimlibs.spec
@@ -1,13 +1,13 @@
%define apidocs 1
%define akonadi_subpkg 1
-%define akonadi_version_min 1.5.80
+%define akonadi_version_min 1.6.0
%global akonadi_version %(pkg-config --modversion akonadi 2>/dev/null || echo %{akonadi_version_min})
Name: kdepimlibs
Summary: KDE PIM Libraries
Version: 4.7.2
-Release: 1%{?dist}
+Release: 2%{?dist}
# http://techbase.kde.org/Policies/Licensing_Policy
License: LGPLv2+
@@ -16,6 +16,10 @@ URL: http://www.kde.org/
Source0: ftp://ftp.kde.org/pub/kde/unstable/%{version}/src/kdepimlibs-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+## upstream patches
+# https://bugzilla.redhat.com/show_bug.cgi?id=749618
+Patch100: kdepimlibs-4.7.2-akonadi_mimetypes.patch
+
%if ! 0%{?akonadi_subpkg}
Obsoletes: %{name}-akonadi < %{version}-%{release}
Provides: %{name}-akonadi = %{version}-%{release}
@@ -26,14 +30,14 @@ Requires: kdelibs4%{?_isa} >= %{version}
# for kio_smtp plain/login sasl plugins
Requires: cyrus-sasl-plain
-BuildRequires: akonadi-devel >= %{akonadi_version_min}
BuildRequires: boost-devel
BuildRequires: cyrus-sasl-devel
BuildRequires: gpgme-devel
BuildRequires: kdelibs4-devel >= %{version}
-BuildRequires: libXpm-devel libXtst-devel
BuildRequires: openldap-devel
BuildRequires: libical-devel >= 0.33
+BuildRequires: pkgconfig(akonadi) >= %{akonadi_version_min}
+BuildRequires: pkgconfig(xpm) pkgconfig(xtst)
BuildRequires: prison-devel
%if 0%{?apidocs}
@@ -82,6 +86,8 @@ format for easy browsing.
%prep
%setup -q
+%patch100 -p1 -b .akonadi_mimetypes
+
%build
mkdir -p %{_target_platform}
@@ -141,22 +147,14 @@ cp -prf kdepimlibs-%{version}%{?alphatag}-apidocs %{buildroot}%{_kde4_docdir}/HT
find %{buildroot}%{_kde4_docdir}/HTML/en/ -name 'installdox' -exec rm -fv {} ';'
%endif
+%clean
+rm -rf %{buildroot}
+
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
-%if 0%{?akonadi_subpkg}
-%post akonadi -p /sbin/ldconfig
-
-%postun akonadi -p /sbin/ldconfig
-%endif
-
-
-%clean
-rm -rf %{buildroot}
-
-
%files
%defattr(-,root,root,-)
%{_kde4_appsdir}/kabc/
@@ -180,6 +178,10 @@ rm -rf %{buildroot}
%exclude %{_kde4_libdir}/kde4/kcm_mailtransport.so
%exclude %{_kde4_datadir}/kde4/services/kcm_mailtransport.desktop
+%post akonadi -p /sbin/ldconfig
+
+%postun akonadi -p /sbin/ldconfig
+
%files akonadi
%defattr(-,root,root,-)
%{_kde4_libdir}/libakonadi-*.so.*
@@ -210,6 +212,10 @@ rm -rf %{buildroot}
%changelog
+* Thu Oct 27 2011 Rex Dieter <rdieter at fedoraproject.org> 4.7.2-2
+- pkgconfig-style deps
+- "Mimetype tree is not a DAG!" errors + crashes when using SMI 0.91 (#749618)
+
* Tue Oct 04 2011 Rex Dieter <rdieter at fedoraproject.org> 4.7.2-1
- 4.7.2
More information about the scm-commits
mailing list