diff --git a/common/Makefile b/common/Makefile index 0251c4ab..50e6709c 100644 --- a/common/Makefile +++ b/common/Makefile @@ -177,6 +177,10 @@ xpi: $(CHROME) -f $(BASE)/process_manifest.awk \ "$(TOP)/chrome.manifest" >"$(XPI_PATH)/chrome.manifest" + $(AWK) -v 'name=$(NAME)' -v 'suffix=$(MANGLE)' \ + -f $(BASE)/process_config.awk \ + "$(TOP)/config.json" >"$(XPI_PATH)/config.json" + version="$(VERSION)"; \ hg root >/dev/null 2>&1 && \ case "$$version" in \ diff --git a/common/bootstrap.js b/common/bootstrap.js index de897691..df202035 100755 --- a/common/bootstrap.js +++ b/common/bootstrap.js @@ -309,7 +309,9 @@ function updateVersion() { // Disable automatic updates when switching to nightlies, // restore the default action when switching to stable. if (!config.lastVersion || isDev(config.lastVersion) != isDev(addon.version)) - addon.applyBackgroundUpdates = AddonManager[isDev(addon.version) ? "AUTOUPDATE_DISABLE" : "AUTOUPDATE_DEFAULT"]; + addon.applyBackgroundUpdates = + AddonManager[isDev(addon.version) ? "AUTOUPDATE_DISABLE" + : "AUTOUPDATE_DEFAULT"]; } catch (e) { reportError(e); diff --git a/common/process_config.awk b/common/process_config.awk new file mode 100644 index 00000000..4582f7b0 --- /dev/null +++ b/common/process_config.awk @@ -0,0 +1,22 @@ +BEGIN { + chrome = "chrome" + if (suffix) + chrome = suffix +} +/^ \}/ { on = 0 } + +on && $NF ~ /^"([a-z]|\.\/)/ { + $NF = "\"/" name "/" substr($NF, 2) +} +/./ && on { + sub(/^"\.\./, "\"", $NF); + $NF = "\"" chrome substr($NF, 2) +} +/./ && on { + gsub(/\/\.\//, "/") + sub(/^\"\.\.\/common\//, "\"", $NF) + $0 = " " $0 +} +// + +/^ "resources": \{/ { on = 1 } diff --git a/common/process_manifest.awk b/common/process_manifest.awk index 4abfceef..38448344 100644 --- a/common/process_manifest.awk +++ b/common/process_manifest.awk @@ -3,8 +3,12 @@ BEGIN { if (suffix) chrome = suffix } + { content = $1 ~ /^(content|skin|locale|resource)$/ } -content && $NF ~ /^[a-z]|^\.\// { $NF = "/" name "/" $NF } + +content && $NF ~ /^([a-z]|\.\/)/ { + $NF = "/" name "/" $NF +} content { sub(/^\.\./, "", $NF); if (isjar)