summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXimin Luo <infinity0@pwned.gg>2014-05-05 03:06:52 +0100
committerBenjamin Drung <bdrung@debian.org>2014-05-09 22:57:52 +0200
commitfe9f32bbddda697c0784c0015c49b391e010ef47 (patch)
tree1121d032a567f864544aba2b1b08b7b5bcacff7c
parent371dfdaf755804dceea2c27c17ac115ea48c6e51 (diff)
add amo-changelog, a script for fetching version history from the amo website
-rwxr-xr-xamo-changelog57
-rw-r--r--debian/copyright29
-rw-r--r--man/amo-changelog.156
-rw-r--r--setup.py1
4 files changed, 132 insertions, 11 deletions
diff --git a/amo-changelog b/amo-changelog
new file mode 100755
index 0000000..02b035b
--- /dev/null
+++ b/amo-changelog
@@ -0,0 +1,57 @@
+#!/usr/bin/python
+
+# Copyright (c) 2014, Jakub Wilk <jwilk@debian.org>
+# Copyright (c) 2014, Ximin Luo <infinity0@pwned.gg>
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+from __future__ import print_function
+
+import argparse
+import urllib2
+import xml.etree.cElementTree as etree
+import sys
+
+URL_TEMPLATE = "https://addons.mozilla.org/en-US/addon/{ext}/versions/format:rss"
+
+def main():
+ ap = argparse.ArgumentParser(
+ description="fetch Version History of an addon from the Mozilla Extensions website.")
+ ap.add_argument("extension",
+ help="Extension short-name, as used on addons.mozilla.org.")
+ options = ap.parse_args()
+
+ url = URL_TEMPLATE.format(ext=options.extension)
+ try:
+ fp = urllib2.urlopen(url)
+ except urllib2.HTTPError as e:
+ print("For extension '%s', error fetching '%s': %s" % (options.extension, url, e), file=sys.stderr)
+ return 1
+ try:
+ for event, element in etree.iterparse(fp):
+ if element.tag != "item":
+ continue
+ title = element.find("title").text
+ print(title)
+ print("=" * len(title))
+ descel = element.find("description")
+ if descel is not None and descel.text:
+ print(descel.text.rstrip("\n"))
+ else:
+ print("[no description]")
+ print("")
+ finally:
+ fp.close()
+
+if __name__ == "__main__":
+ sys.exit(main())
diff --git a/debian/copyright b/debian/copyright
index 1bf10df..84ce51f 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -5,17 +5,6 @@ Source: git://git.debian.org/pkg-mozext/mozilla-devscripts.git
Files: *
Copyright: 2009-2014, Benjamin Drung <bdrung@debian.org>
License: ISC
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
- .
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Files: README
Copyright: 2007-2009, Sasa Bodiroza <jazzva@gmail.com>
@@ -24,6 +13,11 @@ Copyright: 2007-2009, Sasa Bodiroza <jazzva@gmail.com>
2007-2009, Fabien Tassin <fta@sofaraway.org>
License: GPL-2+
+Files: amo-changelog man/amo-changelog.1
+Copyright: 2014, Jakub Wilk <jwilk@debian.org>
+ 2014, Ximin Luo <infinity0@pwned.gg>
+License: ISC
+
Files: xpi-pack xpi-unpack
Copyright: 2007-2009, Sasa Bodiroza <jazzva@gmail.com>
2007-2009, Alexander Sack <asac@ubuntu.com>
@@ -41,6 +35,19 @@ Files: perl/Debian/Buildsystem/xul_ext.pm perl/Debian/Sequence/xul_ext.pm
Copyright: 2010, Mike Hommey <glandium@debian.org>
License: GPL-2+
+License: ISC
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
License: GPL-2+
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/man/amo-changelog.1 b/man/amo-changelog.1
new file mode 100644
index 0000000..197ff17
--- /dev/null
+++ b/man/amo-changelog.1
@@ -0,0 +1,56 @@
+.\" Copyright (c) 2014 Ximin Luo <infinity0@pwned.gg>
+.\"
+.\" Permission to use, copy, modify, and/or distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.TH XPI-REPACK "1" "April 2014" "amo-changelog" "mozilla-devscripts suite"
+.SH NAME
+amo-changelog \- fetch Version History of an addon
+.SH SYNOPSIS
+.B amo-changelog
+[\fIoptions\fP]
+\fIextension\fR
+.SH DESCRIPTION
+.B amo-changelog
+fetches the Version History of an addon from the Mozilla Extensions website.
+It is meant to offer an easy way to include upstream changelogs in Debian
+packages of mozilla extensions - in many cases, this is not contained in the
+upstream source code repository, but is available on said website.
+
+The \fIextension\fR argument is its short name, as used by the website. For
+example, the homepage for "Adblock Plus" is
+https://addons.mozilla.org/en-US/firefox/addon/adblock-plus/, so the
+short name would be "adblock-plus".
+
+Here is an example for debian/rules:
+
+# if using debhelper
+.br
+override_dh_installchangelogs:
+.br
+ dh_installchangelogs debian/changelog.upstream
+
+\[char46]PHONY: get-orig-changelog
+.br
+get-orig-changelog:
+.br
+ amo-changelog adblock-plus > debian/changelog.upstream
+
+Using this approach, one would save the output file (debian/changelog.upstream)
+as part of the Debian packaging. When updating the package with a new upstream
+release, one would run `debian/rules get-orig-changelog`
+.SH OPTIONS
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Display a brief help message.
+.SH AUTHOR
+Jakub Wilk <jwilk@debian.org> and Ximin Luo <infinity0@pwned.gg>
diff --git a/setup.py b/setup.py
index d5a2cf7..70082c7 100644
--- a/setup.py
+++ b/setup.py
@@ -24,6 +24,7 @@ SCRIPTS = [
'xpi-repack',
'xpi-unpack',
'moz-version',
+ 'amo-changelog',
]
if __name__ == '__main__':