blob: 21c4dbac759145f81ff1bbcf63251553c7710b2b (
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
|
#!/bin/sh
[ $# -gt 1 ] || exit 1
TYPE="$1"
shift
find_dir() {
while read DIR; do
for D in $(find -type d -name $DIR); do
echo "$TYPE,install,url,jar:resource:/chrome/$JAR!${D#.}/"
echo "$TYPE,install,url,jar:resource:/chrome/$JAR!$(dirname ${D#.})/" | sed 's@///*@/@g'
done
done
}
while [ -n "$1" ]; do
DIR=$(mktemp -d unzip.XXXXXX)
cd $DIR
unzip -qq ../$1 || exit 2
JAR=$(basename $1)
find -name contents.rdf \
| xargs cat \
| perl -pi -e '
$txt .= $_;
$_ = undef;
END {
while( $txt =~ s/<chrome:packages>(.*?)<\/chrome:packages>//s ) {
$t = $1;
while ( $t =~ s/<RDF:li\s+resource=".*:(\S+?)"// ) {
print $1 ."\n";
}
}
}' | find_dir | sort -u
cd ..
rm -rf $DIR
shift
done
# vim: ts=4:sw=4
|