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
smime.p7s
Description: S/MIME cryptographic signature