Bug 450710 - prelink doesn't correctly undo for seahorse
Summary: prelink doesn't correctly undo for seahorse
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: prelink
Version: 9
Hardware: x86_64
OS: Linux
low
low
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-06-10 15:36 UTC by Bradley
Modified: 2009-06-10 06:49 UTC (History)
0 users

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2009-06-10 06:49:10 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
prelink -v -mR /usr/bin/seahorse output (56.81 KB, text/plain)
2008-06-10 15:36 UTC, Bradley
no flags Details

Description Bradley 2008-06-10 15:36:28 UTC
Description of problem:
prelink of various seahorse binaries doesn't undo properly. This results in rpm
-V failing and deltarpms not applying

Version-Release number of selected component (if applicable):

prelink-0.4.0-3.x86_64
seahorse-2.22.1-1.fc9.x86_64
seahorse-2.22.2-1.fc9.x86_64

How reproducible:

Always

Steps to Reproduce:
[root@plum ~]# rpm -Kv seahorse-2.22.2-1.fc9.x86_64.rpm 
seahorse-2.22.2-1.fc9.x86_64.rpm:
    Header V3 DSA signature: OK, key ID 4f2a6fd2
    Header SHA1 digest: OK (e048a9eecff230f96cc3e428f11d90b4724f2a0a)
    MD5 digest: OK (4be4aac126c49458e632a2d2184962a8)
    V3 DSA signature: OK, key ID 4f2a6fd2

[root@plum ~]# rpm -Uvh --force seahorse-2.22.2-1.fc9.x86_64.rpm
[root@plum ~]# rpm -V seahorse
[root@plum ~]# md5sum /usr/bin/seahorse
ed0f7247e60ec5b09aaeeea0096bda73  /usr/bin/seahorse
[root@plum ~]# prelink -v -mR /usr/bin/seahorse
<see attachment>
[root@plum ~]# rpm -V seahorse
prelink: /usr/bin/seahorse: prelinked file was modified
S.?.....    /usr/bin/seahorse
[root@plum ~]# prelink -vy /usr/bin/seahorse
prelink: /usr/bin/seahorse: prelinked file was modified
[root@plum ~]# prelink -u /usr/bin/seahorse
[root@plum ~]# md5sum /usr/bin/seahorse
6c7aa2236b25872a30e268398bcb7c11  /usr/bin/seahorse

  
Actual results:

See above

Expected results:

prelink undoes file to be exactly the same as the original file

Additional info:

Not just /usr/bin/seahorse - other files in seahorse package are affected too:

[root@plum cron.daily]# rpm -V seahorse
prelink: /usr/bin/seahorse: prelinked file was modified
S.?.....    /usr/bin/seahorse
prelink: /usr/bin/seahorse-agent: prelinked file was modified
S.?.....    /usr/bin/seahorse-agent
prelink: /usr/bin/seahorse-daemon: prelinked file was modified
S.?.....    /usr/bin/seahorse-daemon
prelink: /usr/bin/seahorse-preferences: prelinked file was modified
S.?.....    /usr/bin/seahorse-preferences
prelink: /usr/bin/seahorse-tool: prelinked file was modified
S.?.....    /usr/bin/seahorse-tool
prelink: /usr/lib64/seahorse/seahorse-applet: prelinked file was modified
S.?.....    /usr/lib64/seahorse/seahorse-applet
prelink: /usr/lib64/seahorse/seahorse-ssh-askpass: prelinked file was modified
S.?.....    /usr/lib64/seahorse/seahorse-ssh-askpass

If I force a full prelink run (touch /var/lib/misc/prelink.force and run the
cron script) followed by rpm -Va and the only files with that error message are
the above seahorse files and /usr/lib64/libopenrawgnome.so.1.4.0, and I haven't
looked into the latter at all.

The ^M in the attached file are because its part of a script session.

Seahorse appears to work, either way, although I don't use it often enough to
know if theres something subtly broken

A diff of od -x for the original and prelink -u files gives:

--- /tmp/seahorse.orig.od       2008-06-11 00:54:56.000000000 +1000
+++ /tmp/seahorse.undo.od       2008-06-11 00:55:02.000000000 +1000
@@ -30863,8 +30863,10 @@
 1704740 fffe 6fff 0000 0000 ae40 0040 0000 0000
 1704760 ffff 6fff 0000 0000 0003 0000 0000 0000
 1705000 fff0 6fff 0000 0000 a736 0040 0000 0000
-1705020 0000 0000 0000 0000 a736 0040 0000 0000
-1705040 0000 0000 0000 0000 0000 0000 0000 0000
+1705020 0000 0000 0000 0000 0000 0000 0000 0000
+*
+1705120 0000 0000 0000 0000 a736 0040 0000 0000
+1705140 0000 0000 0000 0000 0000 0000 0000 0000
 *
 1705200 c848 0045 0000 0000 0000 0000 0000 0000
 1705220 8650 0067 0000 0000 0000 0000 0000 0000

Comment 1 Bradley 2008-06-10 15:36:28 UTC
Created attachment 308826 [details]
prelink -v -mR /usr/bin/seahorse output

Comment 2 Bug Zapper 2009-06-10 01:31:18 UTC
This message is a reminder that Fedora 9 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 9.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '9'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 9's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 9 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 3 Bradley 2009-06-10 06:49:10 UTC
seahorse is no longer prelinked, because:

prelink: Could not prelink /lib64/libcrypt.so.1 because its dependency /lib64/libfreebl3.so could not be prelinked
prelink: Could not prelink /usr/lib64/libsasl2.so.2 because its dependency /lib64/libcrypt.so.1 could not be prelinked
prelink: Could not prelink /usr/lib64/libldap-2.4.so.2 because its dependency /usr/lib64/libsasl2.so.2 could not be prelinked
prelink: Could not prelink /usr/bin/seahorse because its dependency /usr/lib64/libldap-2.4.so.2 could not be prelinked

because libfreebl3 is explictly blacklisted.

But if I remove that restricting, I can prelink/unprelink at-will, so I guess that this works now


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