summaryrefslogtreecommitdiff
path: root/www-misc/firefox-policy/firefox-policy-1.1.ebuild
diff options
context:
space:
mode:
authorivan-boikov <ik.boikov.public@protonmail.com>2024-06-22 19:45:47 +0200
committerivan-boikov <ik.boikov.public@protonmail.com>2024-06-22 19:45:47 +0200
commitd062fe2c8b99bbf740eee633060150af037adb36 (patch)
tree2fc1371dd1b79c7a1150de3a49e2cf31618eb972 /www-misc/firefox-policy/firefox-policy-1.1.ebuild
parent86fe958144f23672b4d8a0daad29a94ea343d99c (diff)
firefox-policy v1.1, fixes Firefox update blocking
Diffstat (limited to 'www-misc/firefox-policy/firefox-policy-1.1.ebuild')
-rw-r--r--www-misc/firefox-policy/firefox-policy-1.1.ebuild56
1 files changed, 56 insertions, 0 deletions
diff --git a/www-misc/firefox-policy/firefox-policy-1.1.ebuild b/www-misc/firefox-policy/firefox-policy-1.1.ebuild
new file mode 100644
index 0000000..9e3d887
--- /dev/null
+++ b/www-misc/firefox-policy/firefox-policy-1.1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2024 Ivan Boikov
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Generating Firefox system-wide policies to handle addons and updates"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+noupdate +ublock redirect nocookiespopup"
+
+RDEPEND="
+ ublock? ( www-plugins/ublock-origin-bin )
+ redirect? ( www-plugins/libredirect-bin )
+ nocookiespopup? ( www-plugins/istilldontcareaboutcookies-bin )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="app-misc/jq"
+
+S="${WORKDIR}"
+
+_add_addon_entry() {
+ echo "$1" | jq ".policies.ExtensionSettings +=
+ { \"$2\" :
+ {
+ \"install_url\" : \"file:///usr/share/firefox-addons/$2.xpi\",
+ \"installation_mode\" : \"normal_installed\",
+ \"updates_disabled\" : true
+ }
+ }"
+}
+
+src_install() {
+ # firefox-bin installs policies to /opt/firefox/distribution/policies.json
+ # policy in /etc overrides it
+ dodir /etc/firefox/policies
+ policy=""
+ if use noupdate ; then
+ # browser updates
+ policy="$(jq -n '.policies += { "DisableAppUpdate" : true }')"
+ fi
+ if use ublock ; then
+ # uBlockOrigin
+ policy="$(_add_addon_entry "$policy" "uBlock0@raymondhill.net")"
+ fi
+ if use redirect ; then
+ # LibRedirect
+ policy="$(_add_addon_entry "$policy" "7esoorv3@alefvanoon.anonaddy.me")"
+ fi
+ if use nocookiespopup ; then
+ # I still don't care about cookies
+ policy="$(_add_addon_entry "$policy" "idcac-pub@guus.ninja")"
+ fi
+ echo "$policy" > "${D}/etc/firefox/policies/policies.json"
+}