diff options
author | XZS | 2015-10-15 01:26:24 +0200 |
---|---|---|
committer | XZS | 2015-10-15 01:26:24 +0200 |
commit | bd22304ed0c6be0fb89edcd0767b8681aa4ddd02 (patch) | |
tree | 258ead7ca8444cff352146d70e9c8c0367421944 | |
parent | e26da0c3e10460b4fe232c648fd7ac370bbeccaf (diff) | |
download | aur-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-- | .SRCINFO | 2 | ||||
-rw-r--r-- | PKGBUILD | 15 |
2 files changed, 13 insertions, 4 deletions
@@ -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 @@ -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 )) |