summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO8
-rw-r--r--PKGBUILD20
-rwxr-xr-xget_latest_info.py131
-rwxr-xr-xupdate_pkgbuild.sh95
4 files changed, 11 insertions, 243 deletions
diff --git a/.SRCINFO b/.SRCINFO
index b9747928f302..0e9d91085de9 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,15 +1,15 @@
pkgbase = keepass-plugin-rpc
pkgdesc = RPC plugin for Keepass (used by the KeeFox addon for Firefox)
- pkgver = 1.7.0
+ pkgver = 1.7.3
pkgrel = 1
epoch = 1
- url = http://keefox.org/
+ url = https://github.com/kee-org/keepassrpc
install = keepass-plugin-rpc.install
arch = any
license = GPL
depends = keepass
- source = https://addons.mozilla.org/firefox/downloads/file/659059/keefox-1.7.0-fx+tb-linux.xpi?src=api
- sha384sums = 40dab624c1deda7342d09c9a4107533f38439be6f68dc7353da9e9ab054343169890e44a245e805a660681e4ce9e1cb5
+ source = https://github.com/kee-org/keepassrpc/releases/download/v1.7.3.1/KeePassRPC.plgx
+ sha384sums = a08e6c433a220ff9ee221dabacd3459f0f14d3911c200e311ba048209d328ca7b81581f6d95a750aa45508bd39bc96c3
pkgname = keepass-plugin-rpc
diff --git a/PKGBUILD b/PKGBUILD
index a194903225e0..b53ddfd1c7c9 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,28 +1,22 @@
# Maintainer: Tilman Blumenbach <tilman AT ax86 DOT net>
pkgname=keepass-plugin-rpc
-pkgrel=1
epoch=1
+pkgver=1.7.3
+_git_tag=1.7.3.1
+pkgrel=1
pkgdesc="RPC plugin for Keepass (used by the KeeFox addon for Firefox)"
arch=(any)
-url="http://keefox.org/"
+url="https://github.com/kee-org/keepassrpc"
license=('GPL')
depends=(keepass)
install="${pkgname}.install"
+source=("https://github.com/kee-org/keepassrpc/releases/download/v${_git_tag}/KeePassRPC.plgx")
package() {
- cd "$srcdir/deps"
+ cd "$srcdir"
install -m 644 -D KeePassRPC.plgx "${pkgdir}/usr/share/keepass/plugins/KeePassRPC.plgx"
}
-_amo_id=306880
-_amo_os=Linux
-#@
-#@ --------------------------------------------
-#@ Lines below automatically added by update_pkgbuild.sh.
-pkgver='1.7.0'
-source=('https://addons.mozilla.org/firefox/downloads/file/659059/keefox-1.7.0-fx+tb-linux.xpi?src=api')
-#@ --------------------------------------------
-#@
-sha384sums=('40dab624c1deda7342d09c9a4107533f38439be6f68dc7353da9e9ab054343169890e44a245e805a660681e4ce9e1cb5')
+sha384sums=('a08e6c433a220ff9ee221dabacd3459f0f14d3911c200e311ba048209d328ca7b81581f6d95a750aa45508bd39bc96c3')
diff --git a/get_latest_info.py b/get_latest_info.py
deleted file mode 100755
index 7a9743256b00..000000000000
--- a/get_latest_info.py
+++ /dev/null
@@ -1,131 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright (c) 2015, Tilman Blumenbach
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
-# following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
-# disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
-# following disclaimer in the documentation and/or other materials provided with the distribution.
-#
-# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
-# products derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
-# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
-# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import requests
-import requests.exceptions
-import sys
-
-from argparse import ArgumentParser
-from xml.etree import ElementTree as ET
-
-
-def setup_argparser():
- arg_parser = ArgumentParser(
- description="Retrieve latest information for a Mozilla add-on. This "
- "includes the latest version and the current download URL."
- )
-
- arg_parser.add_argument(
- "-u",
- "--url-prefix",
- default="",
- help="Optional string to prepend to URL before outputting it."
- )
- arg_parser.add_argument(
- "-o",
- "--os",
- help="If given, fetch URL for the given operating system. Not "
- "specifying this option fetches the first URL in the API response."
- )
- arg_parser.add_argument(
- "-p",
- "--pkgbuild",
- action="store_true",
- help="Output appropriate lines for a PKGBUILD."
- )
-
- arg_parser.add_argument(
- "addon_id",
- type=int,
- help="ID of add-on to retrieve information for."
- )
-
- return arg_parser
-
-def get_latest_addon_info(addon_id, os):
- resp = requests.get(
- "https://services.addons.mozilla.org/api/1.5/addon/%d" % addon_id
- )
- resp.raise_for_status()
-
- # Now we got the API response, so parse it.
- parsed_resp = ET.fromstring(resp.text)
-
- install_xpath = "install"
- if os is not None:
- install_xpath += "[@os='%s']" % os
-
- install = None
- for elm in parsed_resp.findall(install_xpath):
- if elm.get("status") != "Beta":
- install = elm.text
- break
-
- return parsed_resp.findtext("version"), install
-
-
-parsed_args = setup_argparser().parse_args()
-
-try:
- version, url = get_latest_addon_info(parsed_args.addon_id, parsed_args.os)
-except (requests.exceptions.RequestException, ET.ParseError) as e:
- print(
- "E: Could not retrieve latest information: %s" % e,
- file=sys.stderr
- )
- sys.exit(2)
-
-if version is None:
- print(
- "E: No version information found in API response. API may be malfunctioning.",
- file=sys.stderr
- )
- sys.exit(2)
-
-if url is None:
- print(
- "E: No match for OS `%s' found." % parsed_args.os,
- file=sys.stderr
- )
- sys.exit(3)
-
-
-version = version.replace("-", "_")
-url = parsed_args.url_prefix + url
-
-if not parsed_args.pkgbuild:
- print(
- "VERSION=%s" % version
- )
- print(
- "URL=%s" % url
- )
-else:
- print(
- "pkgver='%s'" % version
- )
- print(
- "source=('%s')" % url
- )
diff --git a/update_pkgbuild.sh b/update_pkgbuild.sh
deleted file mode 100755
index a7a7d80592a4..000000000000
--- a/update_pkgbuild.sh
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) 2015, Tilman Blumenbach
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
-# following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
-# disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
-# following disclaimer in the documentation and/or other materials provided with the distribution.
-#
-# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
-# products derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
-# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
-# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Make sure we can find our own utilities.
-MYDIR=$(dirname "$(readlink -e "${0}")")
-PATH="${MYDIR}${PATH:+:${PATH}}"
-
-
-# Which PKGBUILD to use? Default is the PKGBUILD in the current
-# working directory.
-pkgbuild_path=./PKGBUILD
-if [ ${#} -ge 1 ]; then
- # User explicitly specified a PKGBUILD to modify.
- pkgbuild_path=${1}
-fi
-
-if [ ! -f "${pkgbuild_path}" ]; then
- echo "E: PKGBUILD file '${pkgbuild_path}' does not exist. Aborting." >&2
- exit 2
-fi
-
-echo "I: Using PKGBUILD file '${pkgbuild_path}'." >&2
-
-
-# Set defaults for config variables...
-_amo_id=
-_amo_os=
-_amo_url_prefix=
-
-# ...source the PKGBUILD...
-. "${pkgbuild_path}" || exit 2
-
-# ...and make sure we at least have an AMO addon ID.
-if [ -z "${_amo_id}" ]; then
- echo "E: No AMO addon ID found in PKGBUILD." >&2
- exit 3
-fi
-
-echo "I: AMO addon ID : ${_amo_id}" >&2
-echo "I: AMO OS filter: ${_amo_os:-(none, use first result)}" >&2
-echo "I: AMO URL prefix: ${_amo_url_prefix:-(empty)}" >&2
-
-
-# Now get the addon info from AMO.
-echo "I: Fetching information from AMO..." >&2
-amo_info=$(get_latest_info.py \
- ${_amo_os:+--os "${_amo_os}"} ${_amo_url_prefix:+--url-prefix "${_amo_url_prefix}"} \
- --pkgbuild "${_amo_id}"
-)
-
-ret=$?
-if [ $ret -ne 0 ]; then
- # Could not retrieve addon info.
- exit $ret
-fi
-
-
-# Good, we have the data, so add it to the PKGBUILD after deleting the old
-# pkgver, source and *sums variables as well as our own informational comments.
-sed -i '/^[[:space:]]*\(#@\|pkgver=\|source=\|[[:alnum:]]*sums=\)/d' "${pkgbuild_path}"
-
-{
- echo "#@"
- echo "#@ --------------------------------------------"
- echo "#@ Lines below automatically added by ${0##*/}."
- echo "${amo_info}"
- echo "#@ --------------------------------------------"
- echo "#@"
-} >> "${pkgbuild_path}"
-
-echo "I: PKGBUILD updated, generating checksums." >&2
-cd "$(dirname "$pkgbuild_path")" && \
- makepkg -g -p "$(basename "$pkgbuild_path")" >> "$pkgbuild_path"