Revision 81910556
Added by jahoti almost 2 years ago
- ID 81910556643b5878b001ed443aebf719d5bf99b9
- Parent fbf0503f
| build.sh | ||
|---|---|---|
| 18 | 18 |
echo " -C, chromium: build for Chromium and derivatives" |
| 19 | 19 |
echo " -M, mozilla: build for Firefox and derivatives" |
| 20 | 20 |
echo "options:" |
| 21 |
echo " -b, build=[LOC]: set file/directory to use for building"
|
|
| 21 |
echo " -b, build=[LOC]: file/directory to use for building" |
|
| 22 | 22 |
echo " -h, help: print usage information and exit" |
| 23 |
echo " -o, output=[LOC]: set output file/directory"
|
|
| 24 |
echo " -k, key=[LOC]: select a key to use in building and"
|
|
| 25 |
echo " signing a CRX"
|
|
| 23 |
echo " -o, output=[LOC]: output file/directory" |
|
| 24 |
echo " -k, key=[LOC]: the key to use in signing a CRX;"
|
|
| 25 |
echo " builds a CRX instead of a ZIP"
|
|
| 26 | 26 |
echo " -s, safe: don't delete existing directories;" |
| 27 | 27 |
echo " throw an error instead" |
| 28 |
echo " -u, url=[URL]: URL to check for updates" |
|
| 28 | 29 |
echo " -z, zip: pack the extension as a file" |
| 29 | 30 |
echo |
| 30 | 31 |
echo "environment variables (optional)" |
| 31 |
echo " HAKETILO_ZIP: command to use for generating ZIP files" |
|
| 32 |
echo " HAKETILO_CHROMIUM: command to user to invoke Chromium"
|
|
| 32 |
echo " HAKETILO_ZIP: command to use for generating ZIP files"
|
|
| 33 |
echo " HAKETILO_CHROMIUM: command to use for invoking Chromium"
|
|
| 33 | 34 |
|
| 34 | 35 |
exit $EXIT_STATUS |
| 35 | 36 |
} |
| ... | ... | |
| 38 | 39 |
|
| 39 | 40 |
BROWSER='' |
| 40 | 41 |
BUILDDIR='' |
| 42 |
KEY='' |
|
| 43 |
UPDATE_URL='' |
|
| 41 | 44 |
MAKEZIP=0 |
| 42 | 45 |
FORCE=1 |
| 43 | 46 |
|
| ... | ... | |
| 53 | 56 |
-o | --output) OUTPUT="$2"; shift;; |
| 54 | 57 |
output=*) OUTPUT="$(echo "$1" | cut -c 8-)";; |
| 55 | 58 |
-s | --safe | safe) FORCE=0;; |
| 59 |
-u | --url) UPDATE_URL="$2"; shift;; |
|
| 60 |
url=*) UPDATE_URL="$(echo "$1" | cut -c 5-)";; |
|
| 56 | 61 |
-z | --zip | zip_ext) MAKEZIP=1;; |
| 57 | 62 |
*) print_usage 2 Unrecognized option "'$1'.";; |
| 58 | 63 |
esac |
| ... | ... | |
| 67 | 72 |
elif [ $MAKEZIP = 0 ]; then |
| 68 | 73 |
print_usage 4 The "'key'" option must be used in conjunction with the "'zip'" option. |
| 69 | 74 |
elif [ ! -e "$KEY" ]; then |
| 70 |
print_usage 5 The specified key file "'$KEY'" does not exist. |
|
| 75 |
errcho "The specified key file '$KEY' does not exist." |
|
| 76 |
exit 5 |
|
| 71 | 77 |
fi |
| 78 |
|
|
| 72 | 79 |
KEY="$(realpath "$KEY")" |
| 73 | 80 |
fi |
| 74 | 81 |
|
| lib_build.sh | ||
|---|---|---|
| 185 | 185 |
done |
| 186 | 186 |
|
| 187 | 187 |
CHROMIUM_KEY='' |
| 188 |
CHROMIUM_UPDATE_URL='' |
|
| 188 | 189 |
GECKO_APPLICATIONS='' |
| 190 |
|
|
| 191 |
if [ "x$UPDATE_URL" != x ]; then |
|
| 192 |
UPDATE_URL=",\n \"update_url\": \"$UPDATE_URL\"" |
|
| 193 |
fi |
|
| 189 | 194 |
|
| 190 | 195 |
if [ "$BROWSER" = "chromium" ]; then |
| 191 | 196 |
CHROMIUM_KEY="$(dd if=/dev/urandom bs=32 count=1 2>/dev/null | base64)" |
| 192 | 197 |
CHROMIUM_KEY=$(echo chromium-key-dummy-file-$CHROMIUM_KEY | tr / -) |
| 193 | 198 |
touch $BUILDDIR/$CHROMIUM_KEY |
| 194 | 199 |
|
| 200 |
CHROMIUM_UPDATE_URL="$UPDATE_URL" |
|
| 201 |
|
|
| 195 | 202 |
CHROMIUM_KEY="\n\ |
| 196 | 203 |
// WARNING!!!\n\ |
| 197 | 204 |
// EACH USER SHOULD REPLACE DUMMY FILE's VALUE WITH A UNIQUE ONE!!!\n\ |
| ... | ... | |
| 205 | 212 |
\"applications\": {\n\
|
| 206 | 213 |
\"gecko\": {\n\
|
| 207 | 214 |
\"id\": \"{6fe13369-88e9-440f-b837-5012fb3bedec}\",\n\
|
| 208 |
\"strict_min_version\": \"60.0\"\n\ |
|
| 215 |
\"strict_min_version\": \"60.0\"$UPDATE_URL\n\
|
|
| 209 | 216 |
}\n\ |
| 210 | 217 |
}," |
| 211 | 218 |
fi |
| ... | ... | |
| 213 | 220 |
sed "\ |
| 214 | 221 |
s^_GECKO_APPLICATIONS_^$GECKO_APPLICATIONS^ |
| 215 | 222 |
s^_CHROMIUM_KEY_^$CHROMIUM_KEY^ |
| 223 |
s^_CHROMIUM_UPDATE_URL_^$CHROMIUM_UPDATE_URL^ |
|
| 216 | 224 |
s^_BGSCRIPTS_^$BGSCRIPTS^ |
| 217 | 225 |
s^_CONTENTSCRIPTS_^$CONTENTSCRIPTS^" \ |
| 218 | 226 |
< manifest.json > $BUILDDIR/manifest.json |
| manifest.json | ||
|---|---|---|
| 43 | 43 |
"options_ui": {
|
| 44 | 44 |
"page": "html/options.html", |
| 45 | 45 |
"open_in_tab": true |
| 46 |
}, |
|
| 46 |
}_CHROMIUM_UPDATE_URL_,
|
|
| 47 | 47 |
"web_accessible_resources": [_CHROMIUM_KEY_ |
| 48 | 48 |
], |
| 49 | 49 |
"background": {
|
Also available in: Unified diff
Add build support for update URLs
The 'url' parameter can now be used to provide an update URL