[Bug 204448] RPM verify not functional: "file's dependencies has changed since prelinking"
bugzilla at redhat.com
bugzilla at redhat.com
Thu Nov 5 10:25:07 UTC 2009
Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=204448
Nils Philippsen <nphilipp at redhat.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|CLOSED |ASSIGNED
Version|5 |rawhide
Keywords| |Reopened
CC| |ffesti at redhat.com,
| |nphilipp at redhat.com
AssignedTo|pjones at redhat.com |jakub at redhat.com
Resolution|WONTFIX |
QAContact| |extras-qa at fedoraproject.org
--- Comment #7 from Nils Philippsen <nphilipp at redhat.com> 2009-11-05 05:25:04 EDT ---
I've stumbled over this on current (i.e. pre F-12) Rawhide:
[root at gibraltar ~]# rpm -Vf /lib64/libvolume_id.so.1.1.0
prelink: /lib64/libvolume_id.so.1.1.0: at least one of file's dependencies has
changed since prelinking
S.?...... /lib64/libvolume_id.so.1.1.0
Florian Festi found that prelink provides this RPM macro which should give the
un-prelinked binary contents on stdout:
/etc/rpm/macros.prelink:
# rpm-4.1 verifies prelinked libraries using a prelink undo helper.
# Note: The 2nd token is used as argv[0] and "library" is a
# placeholder that will be deleted and replaced with the appropriate
# library file path.
%__prelink_undo_cmd /usr/sbin/prelink prelink -y library
Unfortunately, this doesn't work if un-prelinking and prelinking again doesn't
produce a file identical to the original one. I assume this doesn't work if
dependencies change or whatever.
Instead of "prelink -y ...", "prelink -u ..." could be used if it were able to
spit out the contents to stdout:
- "prelink -u -o - ..." produces a file named "-" containing the original
binary
- "prelink -u -o /dev/stdout ..." replaces /dev/stdout with the binary contents
- "prelink -u -o /proc/self/fd/1 ..." doesn't work at all (besides not being
very portable)
Alternatively to making the above work, one could add a "--stdout" option to be
used with "-u" (or a "--always" for use with "-y"). Regardless of the solution,
/etc/rpm/macros.prelink needs to be adapted as well.
--
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the fedora-triage-list
mailing list