summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorXZS2015-10-15 01:26:24 +0200
committerXZS2015-10-15 01:26:24 +0200
commitbd22304ed0c6be0fb89edcd0767b8681aa4ddd02 (patch)
tree258ead7ca8444cff352146d70e9c8c0367421944
parente26da0c3e10460b4fe232c648fd7ac370bbeccaf (diff)
downloadaur-bd22304ed0c6be0fb89edcd0767b8681aa4ddd02.tar.gz
ask addons.mozilla.org for updated information
The addons.mozilla.org API provides updated information about Add-On compatibility more recent than the install.rdf file included in the extension. Restricting package relations according to it yields a wider version range, especially with newer versions.
-rw-r--r--.SRCINFO2
-rw-r--r--PKGBUILD15
2 files changed, 13 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 4f0ea4c880c8..0cabb68b8e3c 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -8,7 +8,9 @@ pkgbase = firefox-extension-hide-tab-bar-with-one-tab
makedepends = rasqal
depends = firefox
source = firefox-extension-hide-tab-bar-with-one-tab.zip::https://addons.mozilla.org/firefox/downloads/latest/hide-tab-bar-with-one-tab/platform:2/
+ source = version::https://services.addons.mozilla.org/en-US/firefox/api/1.5/addon/hide-tab-bar-with-one-tab
md5sums = 0177f69d998d66a9f181b5744bee21a1
+ md5sums = SKIP
pkgname = firefox-extension-hide-tab-bar-with-one-tab
diff --git a/PKGBUILD b/PKGBUILD
index f8e7e5f3122a..b0d787d0e34d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -12,7 +12,11 @@ md5sums=('0177f69d998d66a9f181b5744bee21a1')
[ "$arch" ] || arch=('any')
-source+=("${pkgname}.zip::https://addons.mozilla.org/firefox/downloads/latest/${pkgname#*-*-}/platform:2/")
+source+=(
+ "${pkgname}.zip::https://addons.mozilla.org/firefox/downloads/latest/${pkgname#*-*-}/platform:2/"
+ "version::https://services.addons.mozilla.org/en-US/firefox/api/1.5/addon/${pkgname#*-*-}"
+)
+md5sums+=('SKIP')
prepare() {
rm ${pkgname}.zip
@@ -29,6 +33,11 @@ pkgver() {
sparql '<urn:mozilla:install-manifest> em:version ?x' | tr - .
}
+# Retrieve current compatibility information from addons.mozilla.org API.
+query-version() {
+ xmllint version --xpath \
+ "//application[appID='$2']/$1_version/text()"
+}
version-range() {
local emid=$(emid $1)
echo "$1>$(version min $emid)" "$1<$(version max $emid)"
@@ -43,9 +52,7 @@ emid() {
}
version() {
- local version;
- version=$(sparql "[] em:id '$2' ; em:${1}Version ?x" \
- "$srcdir/install.rdf" )
+ local version="$(query-version $1 $2)"
if [[ $version =~ ([[:digit:]]+).\* ]]; then
if [[ $1 = max ]]; then
echo $(( ${BASH_REMATCH[1]} + 1 ))