i doubt few people have noticed, but i've rewritten lddtree recently in 
python.  i did for speed, for fun, and to add a lot more functionality that 
would have driven the bash code base to new perverse levels.

i've randomly stumbled across places in our code base (beyond ebuilds) where 
the new python version would be useful.  rather than try and ferret out those 
myself, i'll just announce here and people can sort it out.

if you guys think this can satisfy most of your needs but there's like a small 
edge case that isn't quite handled, let me know.  i can always add another 
option :).

specifically, lddtree (both the shell & python variants) support a --list:
$ lddtree -l /bin/bash
/bin/bash
/lib64/ld-linux-x86-64.so.2
/lib64/libreadline.so.6
/lib64/libhistory.so.6
/lib64/libncurses.so.5
/lib64/libdl.so.2
/lib64/libc.so.6
this way you don't have to resort to grep/awk/sed on the output to try and get 
the names out of `lddtree` (or heaven forbid, `ldd`).

it also supports --root just like you'd expect:
$ lddtree -l /bin/bash --root /mnt/space/distros/x86
/mnt/space/distros/x86/bin/bash
/mnt/space/distros/x86/lib/ld-linux.so.2
/mnt/space/distros/x86/lib/libreadline.so.6
/mnt/space/distros/x86/lib/libncurses.so.5
/mnt/space/distros/x86/lib/libdl.so.2
/mnt/space/distros/x86/lib/libc.so.6

but things get even crazier with the new --copy-to-tree option (python version 
only).  this is useful for scenarios like kernel initramfs where you want to 
copy over one or two ELFs and their dependencies w/out resorting to statically 
linking them.  check out the --help text for more details.
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to