Bug 468524 - Evolution plugin broken again (RPM bug?)
Evolution plugin broken again (RPM bug?)
Product: Fedora
Classification: Fedora
Component: mail-notification (Show other bugs)
All Linux
medium Severity high
: ---
: ---
Assigned To: Dmitry Butskoy
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2008-10-25 11:58 EDT by Erik van Pienbroek
Modified: 2008-11-12 22:36 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-10-27 09:02:25 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Erik van Pienbroek 2008-10-25 11:58:34 EDT

In evolution-data-server 2.24.1 the API in the camel component has changed. This change caused the file %{libdir}/libcamel-provider-1.2.so.13 to be renamed to %{libdir}/libcamel-provider-1.2.so.14 and breaking mail notification's evolution plugin along with it.

A rebuild again should be sufficient to solve this problem. However, it is strange this breakage wasn't detected by RPM... It seems like the dependencies of the evolution plugin aren't saved in the RPM file :

$ rpmquery --requires mail-notification-evolution-plugin
mail-notification = 5.4-3.fc10
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(VersionedDependencies) <= 3.0.3-1

$ rpmquery --fileprovide mail-notification-evolution-plugin
/usr/lib64/evolution/2.24/plugins/liborg-jylefort-mail-notification.so	P liborg-jylefort-mail-notification.so()(64bit)

The evolution plugin itself is linked to several GNOME and evolution components (as they should be):
$ ldd /usr/lib64/evolution/2.24/plugins/liborg-jylefort-mail-notification.so
ldd: waarschuwing: u hebt geen uitvoeringsrechten voor `/usr/lib64/evolution/2.24/plugins/liborg-jylefort-mail-notification.so'
	linux-vdso.so.1 =>  (0x00007fff933ff000)
	libeutil.so.0 => /usr/lib64/evolution/2.24/libeutil.so.0 (0x0000000000317000)
	libgnomeui-2.so.0 => /usr/lib64/libgnomeui-2.so.0 (0x0000000000557000)
	libSM.so.6 => /usr/lib64/libSM.so.6 (0x00000000007f1000)
	libICE.so.6 => /usr/lib64/libICE.so.6 (0x00000000009f9000)
	libcamel-provider-1.2.so.13 => not found
	libbonoboui-2.so.0 => /usr/lib64/libbonoboui-2.so.0 (0x0000000000c14000)
	libgnomevfs-2.so.0 => /usr/lib64/libgnomevfs-2.so.0 (0x0000000000e82000)
	libgnomecanvas-2.so.0 => /usr/lib64/libgnomecanvas-2.so.0 (0x0000000055131000)

(The warning says the file isn't executable)

The build logs at http://kojipkgs.fedoraproject.org/packages/mail-notification/5.4/3.fc10/data/logs/i386/build.log only show this with regard to the RPM dependency generation:

Processing files: mail-notification-evolution-plugin-5.4-3.fc10
Provides: liborg-jylefort-mail-notification.so
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(VersionedDependencies) <= 3.0.3-1
Requires: rtld(GNU_HASH)
Obsoletes: mail-notification < 3.0-4

The warning provided by 'ldd' about the file not being executable gave me an idea about the possible cause. After adding 'chmod 755 ${RPM_BUILD_ROOT}%{_libdir}/evolution/2.*/plugins/*.so' to the %install phase of the .spec file, RPM started to process the dependencies of the evolution-plugin:

Processing files: mail-notification-evolution-plugin-5.4-3.fc10
Provides: liborg-jylefort-mail-notification.so()(64bit)
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(VersionedDependencies) <= 3.0.3-1
Requires: libICE.so.6()(64bit) libORBit-2.so.0()(64bit) libSM.so.6()(64bit) libart_lgpl_2.so.2()(64bit) libatk-1.0.so.0()(64bit) libbonobo-2.so.0()(64bit) libbonobo-activation.so.4()(64bit) libbonoboui-2.so.0()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libcairo.so.2()(64bit) libcamel-1.2.so.14()(64bit) libcamel-provider-1.2.so.14()(64bit) libdbus-1.so.3()(64bit) libdbus-glib-1.so.2()(64bit) libedataserver-1.2.so.11()(64bit) libeutil.so.0()(64bit) libfontconfig.so.1()(64bit) libfreetype.so.6()(64bit) libgconf-2.so.4()(64bit) libgdk-x11-2.0.so.0()(64bit) libgdk_pixbuf-2.0.so.0()(64bit) libgio-2.0.so.0()(64bit) libglib-2.0.so.0()(64bit) libgmodule-2.0.so.0()(64bit) libgnome-2.so.0()(64bit) libgnomecanvas-2.so.0()(64bit) libgnomeui-2.so.0()(64bit) libgnomevfs-2.so.0()(64bit) libgobject-2.0.so.0()(64bit) libgthread-2.0.so.0()(64bit) libgtk-x11-2.0.so.0()(64bit) libpango-1.0.so.0()(64bit) libpangocairo-1.0.so.0()(64bit) libpangoft2-1.0.so.0()(64bit) libpopt.so.0()(64bit) libpthread.so.0()(64bit) librt.so.1()(64bit) libsoup-2.4.so.1()(64bit) libsqlite3.so.0()(64bit) libxml2.so.2()(64bit) rtld(GNU_HASH)
Obsoletes: mail-notification < 3.0-4

Could this be an RPM bug where the dependencies of plugins without the executable permission aren't being generated or is the ugly workaround really necessary?
Comment 1 Panu Matilainen 2008-10-26 04:33:22 EDT
Rpm only extracts dependencies from files whose executable bit is set, that's intentional and that's the way it has always been.
Comment 2 Dmitry Butskoy 2008-10-27 09:02:25 EDT
The problem is the new original upstream buildsystem of mail-notification do not set the proper mode for *.so plugin file.

Fixed, see http://kojipkgs.fedoraproject.org/packages/mail-notification/5.4/4.fc10/
Comment 3 Fedora Update System 2008-10-27 09:22:59 EDT
mail-notification-5.4-2.fc9 has been submitted as an update for Fedora 9.
Comment 4 Fedora Update System 2008-11-12 22:36:48 EST
mail-notification-5.4-2.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.