X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=scripts%2Fgen-dependencies.sh;h=4beff74bb0221aa2b5b545b66d2417777cfe5e36;hb=5fc28ef47959c1256f2553d507224bb481b08494;hp=de8d67376e702fa4bef923110f722e1151556c69;hpb=1ffa67e0c6a32e56fe9a08dba814723af8c2bc54;p=openwrt%2Fopenwrt.git diff --git a/scripts/gen-dependencies.sh b/scripts/gen-dependencies.sh index de8d67376e..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,17 +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" }' - rm -f $tmp + sed -ne '/^depends=.\+/ { s/^depends=//; s/,/.ko\n/g; s/$/.ko/p; q }' done | sort -u +rm -f $tmp