Bug 468524 - Evolution plugin broken again (RPM bug?)
Summary: Evolution plugin broken again (RPM bug?)
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: mail-notification
Version: rawhide
Hardware: All
OS: Linux
medium
high
Target Milestone: ---
Assignee: Dmitry Butskoy
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-10-25 15:58 UTC by Erik van Pienbroek
Modified: 2008-11-13 03:36 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-10-27 13:02:25 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Erik van Pienbroek 2008-10-25 15:58:34 UTC
Hi,

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
rtld(GNU_HASH)  

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

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 08:33:22 UTC
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 13:02:25 UTC
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 13:22:59 UTC
mail-notification-5.4-2.fc9 has been submitted as an update for Fedora 9.
http://admin.fedoraproject.org/updates/mail-notification-5.4-2.fc9

Comment 4 Fedora Update System 2008-11-13 03:36:48 UTC
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.