On Feb 24, 2011, at 11:14 PM, Mark Hatle wrote:

> I'm trying to validate prelinked binaries and I'm getting a somewhat strange 
> result:
> 
> ........    /bin
> S.?.....    /bin/bash
> ........    /bin/bashbug
> 
> The macro setting being used is:
> 
> %__prelink_undo_cmd     /usr/sbin/prelink prelink -y library
> 
> I'm not sure what the '?' indicates, but I suspect it's some type of a failure
> to get the information from the prelinker.
> 

Hmmm ... I'm pretty sure prelink affects only libraries, not executables.
It has been years ...

> I have a strong suspicion the problem is actually on the prelink side -- but 
> I'm
> not sure how to debug what RPM is doing that is ending up with the '?'.
> 

> So first question -- what does the '?' indicate?  Second, is there any 
> debugging
> available that can help me understand what type of output the prelinker may be
> sending back to RPM so I can diagnose what may be wrong there?
> 

? == indeterminate like 700 root.root read by non-root.

rpm is just trying to verify a digest on plaintext.

Usually its just the content as plaintext.

But prelink alters the content, so the digest has to be run off a pipe
to prelink undo.

prelink has builtin sha1/md5 options: try those.

And you can use /usr/bin/{md5sum.sha1sum,sha256sum} with prelink undo
to duplicate exactly what rpm should be doing.

Extract the digest and compare with the manual results.

I hope you're not putting prelinked content in a *.rpm. That has
a really obscure failure mode because rpmbuild assumes unprelinked
plaintext which prelink undo tries to restore. If the content
was already prelinked, then the digest will never match.

But that doesn't sound like your problem, and its libraries, not executables,
affected by prelink I'm almost certain (run readelf -a to tell whether prelinked
or not. compare with the check implemented).

hth

73 de Jeff

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to