#!/usr/bin/env bash # # Copyright (C) 2012 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # SELF=${0##*/} READELF="${READELF:-readelf}" OBJCOPY="${OBJCOPY:-objcopy}" TARGETS=$* XARGS="${XARGS:-xargs -r}" [ -z "$TARGETS" ] && { echo "$SELF: no directories / files specified" echo "usage: $SELF [PATH...]" exit 1 } find $TARGETS -type f -a -exec file {} \; | \ sed -n -e 's/^\(.*\):.*ELF.*\(executable\|shared object\).*,.* stripped/\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 $OBJCOPY -O binary -j .modinfo $kmod $tmp sed -e 's,\x00,\n,g' $tmp | \ sed -ne '/^depends=.\+/ { s/^depends=//; s/,/.ko\n/g; s/$/.ko/p; q }' done | sort -u rm -f $tmp 'attitude_adjustment'>attitude_adjustment upstream openwrtJames
aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/pad_image
blob: b1941a28d8d3e6728624e3c6c62480f2371fbe4f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100