X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=scripts%2Fgen-dependencies.sh;h=4beff74bb0221aa2b5b545b66d2417777cfe5e36;hb=fa6d53261a68997a7928f38578c5824a2d375d6f;hp=53c80cd837146353ac634da79be8b9ffb69c15ff;hpb=ccebc5a091d95af723c5545dd7b071d3b7027531;p=oweals%2Fopenwrt.git diff --git a/scripts/gen-dependencies.sh b/scripts/gen-dependencies.sh index 53c80cd837..4beff74bb0 100755 --- a/scripts/gen-dependencies.sh +++ b/scripts/gen-dependencies.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/bin/sh # # Copyright (C) 2012 OpenWrt.org # @@ -19,16 +19,15 @@ XARGS="${XARGS:-xargs -r}" } find $TARGETS -type f -a -exec file {} \; | \ - sed -n -e 's/^\(.*\):.*ELF.*\(executable\|shared object\).*,.* stripped/\1/p' | \ - $XARGS -n1 readelf -d | \ + sed -n -e 's/^\(.*\):.*ELF.*\(executable\|shared object\).*,.*/\1/p' | \ + $XARGS -n1 $READELF -d | \ awk '$2 ~ /NEEDED/ && $NF !~ /interpreter/ && $NF ~ /^\[?lib.*\.so/ { gsub(/[\[\]]/, "", $NF); print $NF }' | \ sort -u -tmp=`mktemp $TMP_DIR/dep.XXXXXXXX` -for kmod in `find $TARGETS -type f -name \*.ko`; do +tmp=$(mktemp $TMP_DIR/dep.XXXXXXXX) +for kmod in $(find $TARGETS -type f -name \*.ko); do $OBJCOPY -O binary -j .modinfo $kmod $tmp sed -e 's,\x00,\n,g' $tmp | \ - egrep -a '^depends=' | \ - sed -e 's,^depends=,,' -e 's/,/\n/g' | \ - awk '{ print $1 ".ko" }' + sed -ne '/^depends=.\+/ { s/^depends=//; s/,/.ko\n/g; s/$/.ko/p; q }' done | sort -u +rm -f $tmp