diff options
author | 2013-02-07 13:31:14 +0100 | |
---|---|---|
committer | 2013-06-14 14:43:24 +0000 | |
commit | dd400906d566a7c871c8f82413342e57bc8f264b (patch) | |
tree | 356d5068b90ba425cc57950ed60168d58704cb6c | |
parent | Fix non-functional init_opts parameter, bug #422471 (diff) | |
download | genkernel-dd400906d566a7c871c8f82413342e57bc8f264b.tar.gz genkernel-dd400906d566a7c871c8f82413342e57bc8f264b.tar.bz2 genkernel-dd400906d566a7c871c8f82413342e57bc8f264b.zip |
Make copy_binaries compatible with lddtree from pax-utils-0.6
On some system the output from the new lddtree does not match with what
genkernel expects, however lddtree have insted gained a new option that
essentially gives what we want with less code.
Signed-off-by: Peter Hjalmarsson <xake@rymdraket.net>
-rwxr-xr-x | gen_initramfs.sh | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/gen_initramfs.sh b/gen_initramfs.sh index 99bd3f37..3ae9d7a9 100755 --- a/gen_initramfs.sh +++ b/gen_initramfs.sh @@ -33,13 +33,22 @@ copy_binaries() { fi done # This must be OUTSIDE the for loop, we only want to run lddtree etc ONCE. - lddtree "$@" \ + # lddtree does not have the -V (version) nor the -l (list) options prior to version 1.18 + if lddtree -V > /dev/null 2>&1 ; then + lddtree -l "$@" \ + | sort \ + | uniq \ + | cpio -p --make-directories --dereference --quiet "${destdir}" \ + || gen_die "Binary ${f} or some of its library dependencies could not be copied" + else + lddtree "$@" \ | tr ')(' '\n' \ | awk '/=>/{ if($3 ~ /^\//){print $3}}' \ | sort \ | uniq \ | cpio -p --make-directories --dereference --quiet "${destdir}" \ || gen_die "Binary ${f} or some of its library dependencies could not be copied" + fi } log_future_cpio_content() { |