On Sat, Oct 19, 2002 at 05:54:43PM +0900, GOTO Masanori wrote: > At Sat, 19 Oct 2002 08:42:52 +1000, > <herbert@gondor.apana.org.au> wrote: > > The ldd script fails on non-executable files (such as most libraries) > > if the file package is not installed. > > This is caused by debian/patches/ldd.dpatch, which uses 'file' command. > See below diff: > > - eval $add_env '"$file"' || result=1 > + if [ ! -x "$file" ] && eval file -L "$file" 2>/dev/null \ > + | sed 10q | egrep "$file_magic_regex" > /dev/null; then > + eval $add_env ${RTLD} '"$file"' || result=1 > + else > + eval $add_env '"$file"' || result=1 > + fi haha, that's a good one, the very funny part is that file_magic_regex is in fact ... empty. so that in fact the file -L test part is always OK. I'd suggest rewrite the test into: if test -x "$file"; then eval $add_env ${RTLD} '"$file"' || result=1 else eval $add_env '"$file"' || result=1 fi I tested it here, and it seemed to work OK (no speed deterioration, works OK on an executable without -x rights. -- ·O· Pierre Habouzit ··O madcoder@debian.org OOO http://www.madism.org
Attachment:
pgpsEjl6fdf5T.pgp
Description: PGP signature