#!/bin/sh # File: prep-librewolf-dpkg.sh # Location: https://gitlab.com/bgstack15/librewolf-linux.git # Latest supported version: librewolf-116.0-1 # Author: bgstack15 # SPDX-License-Identifier: CC-BY-SA-4.0 # Startdate: 2020-11-29 # Title: Build Dpkg for LibreWolf # Purpose: Prepare initial assets for running "dpkg-buildpackage -b -us -uc" for LibreWolf by adapting distro Firefox assets # History: # 2021-03-10 add initial Ubuntu support # 2022-01-18 modified to use "source" repo instead of "common" for version 97.0.1 # 2023-05-07 dropped repo "linux" which is disused # 2023-08-30 point to codeberg source repo # Usage: # Can send these final assets up to Open Build Service # References: # Script numbers from https://gitlab.com/librewolf-community/browser/linux/-/tree/master/binary_tarball/scripts # Improve: # Make this idempotent. Right now it is very much not. # Dependencies: # wget, git, tar, awk, sed, jq # Aborts the script upon any failure set -e; set -x; ##################################### # Load settings # basically, dot-source the conf file. test -z "${librewolf_dpkg_conf}" && export librewolf_dpkg_conf="$( find "$( dirname "${0}" )" -maxdepth 2 -name "$( basename "${0%%.sh}.conf" )" -print 2>/dev/null | head -n1 )" test ! -r "${librewolf_dpkg_conf}" && { echo "Unable to load config file, which should be named the same as this script but with a .conf ending. Aborted." 1>&2 ; exit 1 ; } . "${librewolf_dpkg_conf}" librewolf_source_url=https://codeberg.org/librewolf/source.git librewolf_settings_url=https://codeberg.org/librewolf/settings.git if test "${DISTRO}" = "ubuntu" ; then _mozconfig='/config/mozconfig.in' else _mozconfig='/browser.mozconfig.in' fi # user configurable git_source_dir=${CI_PROJECT_DIR}/git # where LibreWolf git contents are cached debian_dir=${CI_PROJECT_DIR}/${firefox_version}/debian # where the firefox_debian.tar.xz file is extracted source_dir=${CI_PROJECT_DIR}/${firefox_version}/librewolf_${firefox_version} # where firefox.orig.tar.xz file is extracted with --strip-components=1 work_dir=${CI_PROJECT_DIR}/prepared/ ##################################### # Download initial components test -z "${SKIP_APT}" && apt update && apt install -y git curl wget xz-utils python3-pip jq # Download upstream distro assets, which includes # 1. orig tarball, which in Debian is not always the pristine contents from upstream source # 2. debian/ directory which defines how to build a dpkg # 3. source package control file mkdir -p "${work_dir}" ; cd "${work_dir}" test -z "${SKIP_DOWNLOAD}" && { case "${DISTRO}" in ubuntu) wget --continue --content-disposition http://archive.ubuntu.com/ubuntu/pool/main/f/firefox/firefox_"${firefox_version}".orig.tar.xz wget --continue --content-disposition http://archive.ubuntu.com/ubuntu/pool/main/f/firefox/firefox_"${distro_firefox_version}".debian.tar.xz wget --continue --content-disposition http://archive.ubuntu.com/ubuntu/pool/main/f/firefox/firefox_"${distro_firefox_version}".dsc ;; *) # catch-all, including for Debian wget --continue --content-disposition http://deb.debian.org/debian/pool/main/f/firefox/firefox_"${firefox_version}".orig.tar.xz wget --continue --content-disposition http://deb.debian.org/debian/pool/main/f/firefox/firefox_"${distro_firefox_version}".debian.tar.xz wget --continue --content-disposition http://deb.debian.org/debian/pool/main/f/firefox/firefox_"${distro_firefox_version}".dsc ;; esac } # extract these contents to where they belong mkdir -p "${source_dir}" test -z "${SKIP_EXTRACT}" && { echo "Extracting files from orig and debian tarballs. This might take a while." 1>&2 tar -C "${source_dir}" -Jx --strip-components=1 -f firefox_"${firefox_version}".orig.tar.xz tar -C "$( dirname "${debian_dir}" )" -Jxf firefox_"${distro_firefox_version}".debian.tar.xz # dsc file is a text file and needs no extraction } # Download git sources test -z "${SKIP_GIT}" && { git clone "${librewolf_source_url}" ${git_source_dir}/source || : ; ( cd "${git_source_dir}/source" ; git checkout master || git checkout main ; git pull ; git checkout "${source_version}" ; ) git clone "${librewolf_settings_url}" ${git_source_dir}/settings || : ; ( cd "${git_source_dir}/settings" ; git checkout master || git checkout main ; git pull ; ) } ##################################### # Script 1 tasks # update debian/control file # update fields and add libjack-dev sed -i -r "${debian_dir}"/control \ -e '/^[[:alpha:]]+: firefox/s/firefox/librewolf/' \ -e '/^Package:.*-l10/,$d' \ -e '/^Maintainer:/{s/Maintainer:/XSBC-Original-Maintainer:/;iMaintainer: B. Stack ' -e '}' \ -e '/^Uploaders:/d' \ -e '/libasound2-dev/s/libasound2-dev,/libasound2-dev, libjack-dev,/;' \ -e '/^Vcs-/d' \ -e '/Breaks:.*xul-ext-torbutton/d' \ -e '/Description:/,+8{/Description:/,/^\s*$/d}' cat <<'EOF' >> "${debian_dir}"/control Description: LibreWolf variant of Mozilla Firefox web browser LibreWolf is a build of Firefox that seeks to protect user privacy, security, and freedom. EOF ##################################### # Script 2 tasks # none. Dependencies are handled by the build environment by interpreting the dsc file. ##################################### # Script 3 tasks # overlay the orig tarball contents with LibreWolf contents # LibreWolf branding cp -pr "${git_source_dir}"/source/themes/browser/base \ "${git_source_dir}"/source/themes/browser/branding \ "${source_dir}"/browser/ # update mozconfig with needed info sed -i -e '/with-app-name=/d' "${debian_dir}${_mozconfig}" cat <> "${debian_dir}${_mozconfig}" # Start of LibreWolf effects ac_add_options --disable-tests ac_add_options --disable-debug ac_add_options --disable-default-browser-agent ac_add_options --prefix=/usr ac_add_options --enable-hardening ac_add_options --enable-rust-simd # Branding ac_add_options --with-app-name=librewolf ac_add_options --with-app-basename=LibreWolf ac_add_options --with-branding=browser/branding/librewolf ac_add_options --with-distribution-id=io.gitlab.librewolf-community export MOZ_REQUIRE_SIGNING= # Features ac_add_options --enable-jack ac_add_options --disable-crashreporter # Disables crash reporting, telemetry and other data gathering tools mk_add_options MOZ_CRASHREPORTER=0 mk_add_options MOZ_DATA_REPORTING=0 mk_add_options MOZ_SERVICES_HEALTHREPORT=0 mk_add_options MOZ_TELEMETRY_REPORTING=0 #ac_add_options --with-wasi-sysroot=\$HOME/.mozbuild/wrlb/wasi-sysroot EOF test "$( uname -p )" = "x86_64" && { echo "ac_add_options --disable-elf-hack" >> "${debian_dir}${_mozconfig}" ; } cat <> "${debian_dir}${_mozconfig}" # LibreWolf binary release uses clang-11 but Debian builds Firefox with gcc so this is irrelevant. #export CC='clang-11' #export CXX='clang++-11' #export AR=llvm-ar-11 #export NM=llvm-nm-11 #export RANLIB=llvm-ranlib-11 ac_add_options --enable-optimize EOF # add patches to debian/patches mkdir -p "${debian_dir}"/patches/librewolf if test "${DISTRO}" = "ubuntu" ; then cp -pr "${git_source_dir}"/common/patches/megabar.patch \ "${git_source_dir}"/common/patches/remove_addons.patch \ "${git_source_dir}"/common/patches/mozilla-vpn-ad2.patch \ "${git_source_dir}"/common/patches/sed-patches/disable-pocket.patch \ "${git_source_dir}"/common/patches/context-menu.patch \ "${git_source_dir}"/common/patches/browser-confvars.patch \ "${git_source_dir}"/common/patches/urlbarprovider-interventions.patch \ "${git_source_dir}"/common/patches/sed-patches/remove-internal-plugin-certs.patch \ "${git_source_dir}"/common/patches/sed-patches/allow-searchengines-non-esr.patch \ "${git_source_dir}"/common/patches/sed-patches/stop-undesired-requests.patch \ "${git_source_dir}"/common/patches/about-dialog.patch \ "${debian_dir}"/patches/librewolf/ cat <> "${debian_dir}"/patches/series librewolf/remove_addons.patch -p1 librewolf/megabar.patch -p1 librewolf/mozilla-vpn-ad2.patch -p1 librewolf/disable-pocket.patch -p1 librewolf/context-menu.patch -p1 librewolf/browser-confvars.patch -p1 librewolf/urlbarprovider-interventions.patch -p1 librewolf/remove-internal-plugin-certs.patch -p1 librewolf/allow-searchengines-non-esr.patch -p1 librewolf/stop-undesired-requests.patch -p1 librewolf/about-dialog.patch -p1 EOF else # the vpn-ad was disabled at v99.0 because it was broken cp -pr $( sed -r "${git_source_dir}"/source/assets/patches.txt -e "s@^@/${git_source_dir}/source/@" -e '/vpn-ad/d' ) \ "${debian_dir}"/patches/librewolf/ awk -F'/' '{print "librewolf/"$NF}' "${git_source_dir}"/source/assets/patches.txt | \ sed -r -e 's@$@ -p1@' -e '/vpn-ad/d' >> "${debian_dir}/patches/series" #echo "librewolf/webrender_ffi.patch -p1" >> "${debian_dir}/patches/series" # added 115.0.2; just defuzzing this patch test -n "1" && patch -p1 "${debian_dir}/patches/librewolf/firefox-view.patch" <<'EOF' --- a/patches/librewolf/firefox-view.patch 2023-07-13 15:01:06.444375138 -0400 +++ b/patches/librewolf/firefox-view.patch 2023-07-13 15:36:54.116273640 -0400 @@ -15,8 +15,10 @@ # The tab pickup feature is hidden if Firefox Sync is disabled. It can also # be forced to always be disabled by setting `librewolf.firefoxView.hideTabPickup` # to `true`. ---- a/browser/base/content/navigator-toolbox.inc.xhtml -+++ b/browser/base/content/navigator-toolbox.inc.xhtml +Index: librewolf_115.0.2/browser/base/content/navigator-toolbox.inc.xhtml +=================================================================== +--- librewolf_115.0.2.orig/browser/base/content/navigator-toolbox.inc.xhtml ++++ librewolf_115.0.2/browser/base/content/navigator-toolbox.inc.xhtml @@ -41,16 +41,6 @@ @@ -33,8 +35,8 @@ - @@ -51,9 +53,11 @@ ---- a/browser/components/customizableui/CustomizableUI.sys.mjs -+++ b/browser/components/customizableui/CustomizableUI.sys.mjs -@@ -289,7 +289,6 @@ var CustomizableUIInternal = { +Index: librewolf_115.0.2/browser/components/customizableui/CustomizableUI.sys.mjs +=================================================================== +--- librewolf_115.0.2.orig/browser/components/customizableui/CustomizableUI.sys.mjs ++++ librewolf_115.0.2/browser/components/customizableui/CustomizableUI.sys.mjs +@@ -282,7 +282,6 @@ var CustomizableUIInternal = { { type: CustomizableUI.TYPE_TOOLBAR, defaultPlacements: [ @@ -61,7 +65,7 @@ "tabbrowser-tabs", "new-tab-button", "alltabs-button", -@@ -620,18 +619,6 @@ var CustomizableUIInternal = { +@@ -611,18 +610,6 @@ var CustomizableUIInternal = { } } @@ -80,8 +84,10 @@ // Unified Extensions addon button migration, which puts any browser action // buttons in the overflow menu into the addons panel instead. if (currentVersion < 19) { ---- a/browser/components/firefoxview/firefoxview.html -+++ b/browser/components/firefoxview/firefoxview.html +Index: librewolf_115.0.2/browser/components/firefoxview/firefoxview.html +=================================================================== +--- librewolf_115.0.2.orig/browser/components/firefoxview/firefoxview.html ++++ librewolf_115.0.2/browser/components/firefoxview/firefoxview.html @@ -62,6 +62,7 @@ is="tab-pickup-container" id="tab-pickup-container" @@ -90,9 +96,11 @@ > { +Index: librewolf_115.0.2/browser/components/firefoxview/firefoxview.mjs +=================================================================== +--- librewolf_115.0.2.orig/browser/components/firefoxview/firefoxview.mjs ++++ librewolf_115.0.2/browser/components/firefoxview/firefoxview.mjs +@@ -16,7 +16,26 @@ const launchFeatureTour = () => { callout.showFeatureCallout(); }; @@ -119,13 +127,14 @@ Services.telemetry.setEventRecordingEnabled("firefoxview", true); Services.telemetry.recordEvent("firefoxview", "entered", "firefoxview", null); document.getElementById("recently-closed-tabs-container").onLoad(); ---- a/browser/components/newtab/lib/OnboardingMessageProvider.jsm -+++ b/browser/components/newtab/lib/OnboardingMessageProvider.jsm -@@ -92,57 +92,6 @@ const BASE_MESSAGES = () => [ - }, +Index: librewolf_115.0.2/browser/components/newtab/lib/OnboardingMessageProvider.jsm +=================================================================== +--- librewolf_115.0.2.orig/browser/components/newtab/lib/OnboardingMessageProvider.jsm ++++ librewolf_115.0.2/browser/components/newtab/lib/OnboardingMessageProvider.jsm +@@ -78,57 +78,6 @@ const BASE_MESSAGES = () => [ trigger: { id: "protectionsPanelOpen" }, }, -- { + { - id: "CFR_FIREFOX_VIEW", - groups: ["cfr"], - template: "cfr_doorhanger", @@ -176,6 +185,7 @@ - // Avoid breaking existing tests that close tabs for now. - targeting: `!inMr2022Holdback && fxViewButtonAreaType != null && (currentDate|date - profileAgeCreated) / 86400000 >= 2 && tabsClosedCount >= 3 && 'browser.firefox-view.view-count'|preferenceValue == 0 && !'browser.newtabpage.activity-stream.asrouter.providers.cfr'|preferenceIsUserSet`, - }, - { +- { id: "FX_MR_106_UPGRADE", template: "spotlight", + targeting: "true", EOF # added 115.0.2, updated 117.0; just defuzzing this patch test -n "1" && patch -p1 "${debian_dir}/patches/librewolf/stop-undesired-requests.patch" < { +@@ -51,6 +51,9 @@ ChromeUtils.defineLazyGetter(lazy, "isRu // Overriding the server URL is normally disabled on Beta and Release channels, // except under some conditions. ChromeUtils.defineLazyGetter(lazy, "allowServerURLOverride", () => { @@ -25,11 +21,9 @@ if (!AppConstants.RELEASE_OR_BETA) { // Always allow to override the server URL on Nightly/DevEdition. return true; -diff --git a/toolkit/components/search/SearchUtils.sys.mjs b/toolkit/components/search/SearchUtils.sys.mjs -index a3100fa..c7bf03b 100644 --- a/toolkit/components/search/SearchUtils.sys.mjs +++ b/toolkit/components/search/SearchUtils.sys.mjs -@@ -157,9 +157,9 @@ var SearchUtils = { +@@ -152,9 +152,9 @@ export var SearchUtils = { ENGINES_URLS: { "prod-main": @@ -39,5 +33,5 @@ - "https://firefox.settings.services.mozilla.com/v1/buckets/main-preview/collections/search-config/records", + "https://%.invalid", "stage-main": - "https://settings.stage.mozaws.net/v1/buckets/main/collections/search-config/records", + "https://firefox.settings.services.allizom.org/v1/buckets/main/collections/search-config/records", "stage-preview": EOF # added 114.0 test -n "1" && patch -p1 "${debian_dir}/patches/librewolf/hide-passwordmgr.patch" <<'EOF' diff -aur a/patches/librewolf/hide-passwordmgr.patch b/patches/librewolf/hide-passwordmgr.patch --- a/patches/librewolf/hide-passwordmgr.patch 2022-05-22 11:05:00.568328784 -0400 +++ b/patches/librewolf/hide-passwordmgr.patch 2023-06-13 15:40:36.745607178 -0400 @@ -1,6 +1,6 @@ --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js -@@ -1847,6 +1847,13 @@ var gBrowserInit = { +@@ -1780,6 +1780,13 @@ var gBrowserInit = { )?.removeAttribute("key"); } @@ -16,9 +16,9 @@ --- a/browser/components/preferences/privacy.js +++ b/browser/components/preferences/privacy.js -@@ -810,6 +810,10 @@ var gPrivacyPane = { - /* init HTTPS-Only mode */ - this.initHttpsOnly(); +@@ -1136,6 +1136,10 @@ var gPrivacyPane = { + + this.initDoH(); + if (Services.prefs.getBoolPref("librewolf.hidePasswdmgr", false)) { + document.getElementById("passwordsGroup")?.remove(); EOF # added 112.0.1, updated 117.0. Just for de-fuzzing librewolf patches test -n "1" && patch -p1 "${debian_dir}/patches/librewolf/firefox-view.patch" <<'EOF' diff --git a/patches/ui-patches/firefox-view.patch b/patches/ui-patches/firefox-view.patch index b32a6bf..07fd0ed 100644 --- a/patches/ui-patches/firefox-view.patch +++ b/patches/ui-patches/firefox-view.patch @@ -15,10 +15,8 @@ # The tab pickup feature is hidden if Firefox Sync is disabled. It can also # be forced to always be disabled by setting `librewolf.firefoxView.hideTabPickup` # to `true`. -Index: librewolf_115.0.2/browser/base/content/navigator-toolbox.inc.xhtml -=================================================================== ---- librewolf_115.0.2.orig/browser/base/content/navigator-toolbox.inc.xhtml -+++ librewolf_115.0.2/browser/base/content/navigator-toolbox.inc.xhtml +--- a/browser/base/content/navigator-toolbox.inc.xhtml ++++ b/browser/base/content/navigator-toolbox.inc.xhtml @@ -41,16 +41,6 @@ @@ -36,7 +34,7 @@ @@ -53,11 +51,9 @@ -Index: librewolf_115.0.2/browser/components/customizableui/CustomizableUI.sys.mjs -=================================================================== ---- librewolf_115.0.2.orig/browser/components/customizableui/CustomizableUI.sys.mjs -+++ librewolf_115.0.2/browser/components/customizableui/CustomizableUI.sys.mjs -@@ -282,7 +282,6 @@ var CustomizableUIInternal = { +--- a/browser/components/customizableui/CustomizableUI.sys.mjs ++++ b/browser/components/customizableui/CustomizableUI.sys.mjs +@@ -279,7 +279,6 @@ var CustomizableUIInternal = { { type: CustomizableUI.TYPE_TOOLBAR, defaultPlacements: [ @@ -65,7 +61,7 @@ "tabbrowser-tabs", "new-tab-button", "alltabs-button", -@@ -611,18 +610,6 @@ var CustomizableUIInternal = { +@@ -608,18 +607,6 @@ var CustomizableUIInternal = { } } @@ -84,10 +80,8 @@ // Unified Extensions addon button migration, which puts any browser action // buttons in the overflow menu into the addons panel instead. if (currentVersion < 19) { -Index: librewolf_115.0.2/browser/components/firefoxview/firefoxview.html -=================================================================== ---- librewolf_115.0.2.orig/browser/components/firefoxview/firefoxview.html -+++ librewolf_115.0.2/browser/components/firefoxview/firefoxview.html +--- a/browser/components/firefoxview/firefoxview.html ++++ b/browser/components/firefoxview/firefoxview.html @@ -62,6 +62,7 @@ is="tab-pickup-container" id="tab-pickup-container" @@ -96,13 +90,11 @@ > { - callout.showFeatureCallout(); - }; +--- a/browser/components/firefoxview/firefoxview.mjs ++++ b/browser/components/firefoxview/firefoxview.mjs +@@ -2,7 +2,26 @@ + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +function onPrefChange() { + document.getElementById("tab-pickup-container").hidden = @@ -127,10 +119,8 @@ Services.telemetry.setEventRecordingEnabled("firefoxview", true); Services.telemetry.recordEvent("firefoxview", "entered", "firefoxview", null); document.getElementById("recently-closed-tabs-container").onLoad(); -Index: librewolf_115.0.2/browser/components/newtab/lib/OnboardingMessageProvider.jsm -=================================================================== ---- librewolf_115.0.2.orig/browser/components/newtab/lib/OnboardingMessageProvider.jsm -+++ librewolf_115.0.2/browser/components/newtab/lib/OnboardingMessageProvider.jsm +--- a/browser/components/newtab/lib/OnboardingMessageProvider.jsm ++++ b/browser/components/newtab/lib/OnboardingMessageProvider.jsm @@ -78,57 +78,6 @@ const BASE_MESSAGES = () => [ trigger: { id: "protectionsPanelOpen" }, }, EOF # added 111.0 to patch for debian 111.0 until defuzz-111.0 gets merged test -n "1" && patch -p1 "${debian_dir}/patches/librewolf/disable-pocket.patch" <<'EOF' diff --git a/patches/librewolf/disable-pocket.patch b/patches/librewolf/disable-pocket.patch --- a/debian/patches/librewolf/disable-pocket.patch 2023-03-22 10:28:09.099519405 -0400 +++ b/debian/patches/librewolf/disable-pocket.patch 2023-03-22 13:03:46.205211526 -0400 @@ -1,20 +1,16 @@ -diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js -index 43c84c3..4b4aad2 100644 --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js -@@ -5478,7 +5478,6 @@ var XULBrowserWindow = { +@@ -5479,7 +5479,6 @@ var XULBrowserWindow = { SafeBrowsingNotificationBox.onLocationChange(aLocationURI); - SaveToPocket.onLocationChange(window); let originalURI; - if ( -diff --git a/browser/components/BrowserGlue.jsm b/browser/components/BrowserGlue.sys.mjs -index b2479db..7670f08 100644 + if (aRequest instanceof Ci.nsIChannel) { --- a/browser/components/BrowserGlue.sys.mjs +++ b/browser/components/BrowserGlue.sys.mjs -@@ -1274,7 +1274,6 @@ BrowserGlue.prototype = { +@@ -1300,7 +1300,6 @@ BrowserGlue.prototype = { lazy.Normandy.init(); } @@ -22,11 +18,9 @@ AboutHomeStartupCache.init(); -diff --git a/browser/components/moz.build b/browser/components/moz.build -index 3b2126e..32b7831 100644 --- a/browser/components/moz.build +++ b/browser/components/moz.build -@@ -44,7 +44,6 @@ DIRS += [ +@@ -45,7 +45,6 @@ DIRS += [ "originattributes", "pagedata", "places", EOF # added 109.0 to patch for debian 109.0 until defuzz-109.0 gets merged test -n "1" && patch -p1 "${debian_dir}/patches/librewolf/disable-data-reporting-at-compile-time.patch" <<'EOF' diff --git a/patches/disable-data-reporting-at-compile-time.patch b/patches/disable-data-reporting-at-compile-time.patch index 3702402..f4a4315 100644 --- a/patches/disable-data-reporting-at-compile-time.patch +++ b/patches/disable-data-reporting-at-compile-time.patch @@ -1,5 +1,3 @@ -diff --git a/browser/moz.configure b/browser/moz.configure -index 8653bcb..935af40 100644 --- a/browser/moz.configure +++ b/browser/moz.configure @@ -5,11 +5,11 @@ @@ -14,5 +12,5 @@ index 8653bcb..935af40 100644 -imply_option("MOZ_NORMANDY", True) +imply_option("MOZ_NORMANDY", False) - with only_when(target_is_linux & compile_environment): + with only_when(target_has_linux_kernel & compile_environment): option(env="MOZ_NO_PIE_COMPAT", help="Enable non-PIE wrapper") EOF # added 109.0 to patch for debian 109.0 until defuzz-109.0 gets merged test -n "" && patch -p1 "${debian_dir}/patches/librewolf/librewolf-pref-pane.patch" <<'EOF' diff --git a/patches/librewolf-pref-pane.patch b/patches/librewolf-pref-pane.patch index b1ed478..4fcf94b 100644 --- a/patches/librewolf-pref-pane.patch +++ b/patches/librewolf-pref-pane.patch @@ -23,8 +23,6 @@ fix xorigin pref init and handling create mode 100644 browser/themes/shared/preferences/category-librewolf.svg create mode 100644 browser/themes/shared/preferences/librewolf.css -diff --git a/browser/components/preferences/jar.mn b/browser/components/preferences/jar.mn -index 2131a15ceef7..0b97dc14b42e 100644 --- a/browser/components/preferences/jar.mn +++ b/browser/components/preferences/jar.mn @@ -11,6 +11,7 @@ browser.jar: @@ -35,9 +33,6 @@ index 2131a15ceef7..0b97dc14b42e 100644 content/browser/preferences/containers.js content/browser/preferences/sync.js content/browser/preferences/experimental.js -diff --git a/browser/components/preferences/librewolf.inc.xhtml b/browser/components/preferences/librewolf.inc.xhtml -new file mode 100644 -index 000000000000..c2dfea6d0858 --- /dev/null +++ b/browser/components/preferences/librewolf.inc.xhtml @@ -0,0 +1,254 @@ @@ -295,9 +290,6 @@ index 000000000000..c2dfea6d0858 + + + -diff --git a/browser/components/preferences/librewolf.js b/browser/components/preferences/librewolf.js -new file mode 100644 -index 000000000000..c8cbb075d59b --- /dev/null +++ b/browser/components/preferences/librewolf.js @@ -0,0 +1,287 @@ @@ -588,8 +580,6 @@ index 000000000000..c8cbb075d59b + } + }); +}); -diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js -index 19dda7cf39eb..f5e67b637b49 100644 --- a/browser/components/preferences/preferences.js +++ b/browser/components/preferences/preferences.js @@ -8,6 +8,7 @@ @@ -600,7 +590,7 @@ index 19dda7cf39eb..f5e67b637b49 100644 /* import-globals-from sync.js */ /* import-globals-from experimental.js */ /* import-globals-from moreFromMozilla.js */ -@@ -196,6 +197,7 @@ function init_all() { +@@ -197,6 +198,7 @@ function init_all() { register_module("paneHome", gHomePane); register_module("paneSearch", gSearchPane); register_module("panePrivacy", gPrivacyPane); @@ -608,8 +598,6 @@ index 19dda7cf39eb..f5e67b637b49 100644 register_module("paneContainers", gContainersPane); if (Services.prefs.getBoolPref("browser.preferences.experimental")) { // Set hidden based on previous load's hidden value. -diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml -index 6ee14eec9b2e..a0d768dce307 100644 --- a/browser/components/preferences/preferences.xhtml +++ b/browser/components/preferences/preferences.xhtml @@ -13,6 +13,7 @@ @@ -620,7 +608,7 @@ index 6ee14eec9b2e..a0d768dce307 100644 -@@ -129,6 +130,17 @@ +@@ -130,6 +131,17 @@ @@ -638,7 +626,7 @@ index 6ee14eec9b2e..a0d768dce307 100644