This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository pale-moon. commit 67bc8da8d9acbc768b3b55dcde5cd8c16c31b447 Author: Mihai Moldovan <ionic@ionic.de> Date: Fri Aug 31 05:39:48 2018 +0200 debian/: new directory "extra-stuff" containing Debian-specific additions (currently only addonsInfo). --- debian/changelog | 2 + debian/extra-stuff/Makefile.in | 0 debian/extra-stuff/addonsInfo.js | 108 +++++++++++++++++++++++++++++++++ debian/extra-stuff/addonsInfo.manifest | 3 + debian/extra-stuff/moz.build | 1 + 5 files changed, 114 insertions(+) diff --git a/debian/changelog b/debian/changelog index 8e95df6..2a373ec 100644 --- a/debian/changelog +++ b/debian/changelog @@ -88,6 +88,8 @@ palemoon (27.9.2~repack-1-0x2go1) UNRELEASED; urgency=medium - Add very stripped-down upstream.mk file. - New directory "installer" with package-manifest data for extra installation files. + - New directory "extra-stuff" containing Debian-specific additions + (currently only addonsInfo). * debian/changelog: - Change repack-1 in version string to repack1 because a dash denotes the start of a downstream change. diff --git a/debian/extra-stuff/Makefile.in b/debian/extra-stuff/Makefile.in new file mode 100644 index 0000000..e69de29 diff --git a/debian/extra-stuff/addonsInfo.js b/debian/extra-stuff/addonsInfo.js new file mode 100644 index 0000000..42d76b8 --- /dev/null +++ b/debian/extra-stuff/addonsInfo.js @@ -0,0 +1,108 @@ +const Cc = Components.classes; +const Ci = Components.interfaces; +Components.utils.import("resource://gre/modules/Services.jsm"); +Components.utils.import("resource://gre/modules/XPCOMUtils.jsm"); +Components.utils.import("resource://gre/modules/AddonManager.jsm"); + +function compare(a, b) { + return String.localeCompare(a.name, b.name); +} + +function dumper() {} +dumper.prototype = { + close: function() { }, + writeString: function(str) { + dump(str); + } +}; + +function dump_addons(out) { + var addons = false; + AddonManager.getAllAddons(function(aAddons) { + addons = aAddons; + }); + + var thread = Services.tm.currentThread; + while (addons == false) { + thread.processNextEvent(true); + } + + addons.sort(compare); + out.writeString("-- Extensions information\n"); + addons.forEach(function(extension) { + if (extension.type == "plugin") + return; + out.writeString("Name: " + extension.name); + if (extension.type != "extension") + out.writeString(" " + extension.type); + out.writeString("\n"); + if (extension.getResourceURI) { + var location = extension.getResourceURI("").QueryInterface(Ci.nsIFileURL).file; + if (extension.scope == AddonManager.SCOPE_PROFILE) + out.writeString("Location: ${PROFILE_EXTENSIONS}/" + + location.leafName + "\n"); + else + out.writeString("Location: " + location.path + "\n"); + } + out.writeString("Status: " + (extension.appDisabled ? "app-disabled" : + (extension.userDisabled ? "user-disabled" : + "enabled")) + "\n"); + out.writeString("\n"); + }); + + var phs = Cc["@mozilla.org/plugin/host;1"] + .getService(Ci.nsIPluginHost); + var plugins = phs.getPluginTags({ }); + plugins.sort(compare); + out.writeString("-- Plugins information\n"); + plugins.forEach(function(plugin) { + out.writeString("Name: " + plugin.name + + (plugin.version ? " (" + plugin.version + ")" : "") + "\n"); + out.writeString("Location: " + + (plugin.fullpath ? plugin.fullpath : plugin.filename) + "\n"); + out.writeString("Status: " + (plugin.disabled ? "disabled" : "enabled") + + (plugin.blocklisted ? " blocklisted" : "") + "\n"); + out.writeString("\n"); + }); +} + +function addonsInfoHandler() {} +addonsInfoHandler.prototype = { + handle: function clh_handle(cmdLine) { + var path; + var out; + try { + path = cmdLine.handleFlagWithParam("dump-addons-info", false); + if (!path) + return; + } catch(e) { + if (!cmdLine.handleFlag("dump-addons-info", false)) + return; + } + + cmdLine.preventDefault = true; + + if (path) { + var file = Cc["@mozilla.org/file/local;1"] + .createInstance(Ci.nsILocalFile); + file.initWithPath(path); + var outstream = Cc["@mozilla.org/network/file-output-stream;1"] + .createInstance(Ci.nsIFileOutputStream); + outstream.init(file, 0x2A /* TRUNCATE | WRONLY | CREATE */, 0666, 0); + out = Cc["@mozilla.org/intl/converter-output-stream;1"] + .createInstance(Ci.nsIConverterOutputStream); + out.init(outstream, "UTF-8", 0, 0); + } else + out = new dumper(); + + dump_addons(out); + out.close(); + }, + + classDescription: "addonsInfoHandler", + classID: Components.ID("{17a1f091-70f7-411c-a9d7-191689552d01}"), + contractID: "@mozilla.org/toolkit/addonsInfo-clh;1", + QueryInterface: XPCOMUtils.generateQI([Ci.nsICommandLineHandler]), +}; + +const NSGetFactory = XPCOMUtils.generateNSGetFactory([addonsInfoHandler]); diff --git a/debian/extra-stuff/addonsInfo.manifest b/debian/extra-stuff/addonsInfo.manifest new file mode 100644 index 0000000..c7a0699 --- /dev/null +++ b/debian/extra-stuff/addonsInfo.manifest @@ -0,0 +1,3 @@ +component {17a1f091-70f7-411c-a9d7-191689552d01} addonsInfo.js +contract @mozilla.org/toolkit/addonsInfo-clh;1 {17a1f091-70f7-411c-a9d7-191689552d01} +category command-line-handler a-addons-info @mozilla.org/toolkit/addonsInfo-clh;1 diff --git a/debian/extra-stuff/moz.build b/debian/extra-stuff/moz.build new file mode 100644 index 0000000..91950c6 --- /dev/null +++ b/debian/extra-stuff/moz.build @@ -0,0 +1 @@ +EXTRA_COMPONENTS += ['addonsInfo.js', 'addonsInfo.manifest'] -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/pale-moon.git