Line | |
---|
1 | #!/bin/bash
|
---|
2 |
|
---|
3 | usage() {
|
---|
4 | echo "$0 <FILENAME.xpi>"
|
---|
5 | }
|
---|
6 |
|
---|
7 |
|
---|
8 | # Retrieve the extension id for an addon from its install.rdf
|
---|
9 | get_extension_id() {
|
---|
10 | unzip -qc $1 install.rdf | xml sel \
|
---|
11 | -N rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns# \
|
---|
12 | -N em=http://www.mozilla.org/2004/em-rdf# \
|
---|
13 | -t -v \
|
---|
14 | "//rdf:Description[@about='urn:mozilla:install-manifest']/em:id"
|
---|
15 | }
|
---|
16 |
|
---|
17 | XPI_FILE="$1"
|
---|
18 |
|
---|
19 | if ! [ -r "$XPI_FILE" ]; then
|
---|
20 | echo "failed to read file $XPI"
|
---|
21 | usage
|
---|
22 | exit 1
|
---|
23 | fi
|
---|
24 |
|
---|
25 | XPI_ID=`get_extension_id $XPI_FILE`
|
---|
26 |
|
---|
27 | if [ -z "$XPI_ID" ]; then
|
---|
28 | echo "failed to determine XPI ID from file $XPI_FILE"
|
---|
29 | exit 1
|
---|
30 | fi
|
---|
31 |
|
---|
32 | echo "ID: $XPI_ID"
|
---|
33 | #mkdir $XPI_ID && cd $XPI_ID && unzip $XPI_FILE || {
|
---|
34 | unzip $XPI_FILE -d $XPI_ID && chmod -R a+x $XPI_ID || {
|
---|
35 | echo "failed to extract file $XPI_FILE to $PWD/$XPI_ID"
|
---|
36 | exit 1
|
---|
37 | }
|
---|
38 |
|
---|
Note:
See
TracBrowser
for help on using the repository browser.