diff options
author | B. Stack <bgstack15@gmail.com> | 2022-01-18 21:04:25 -0500 |
---|---|---|
committer | B. Stack <bgstack15@gmail.com> | 2022-01-18 21:04:25 -0500 |
commit | 68f8d890dd67fa1b0d285ad469d17355b9ca33dc (patch) | |
tree | a0fa4b12b59a19a618a1405df410e6cbc9860e3f /scripts/prep-librewolf-dpkg.sh | |
parent | fix typo in var name (diff) | |
download | librewolf-debian-68f8d890dd67fa1b0d285ad469d17355b9ca33dc.tar.gz librewolf-debian-68f8d890dd67fa1b0d285ad469d17355b9ca33dc.tar.bz2 librewolf-debian-68f8d890dd67fa1b0d285ad469d17355b9ca33dc.zip |
attempt 1 for 96.0.1build-96.0.1
Now parse patches.txt for list of patches. Note that we exclude
the xmas.patch because all of its behaviors are already
established in the dpkg.
We cleanup some of the Debian Firefox orig tarball vendored
python libs which are inexplicably out of date.
Now using the Source repo instead of Common as the source of
truth.
Temporarily fix some fuzz in LW remove_addons.patch again.
Diffstat (limited to 'scripts/prep-librewolf-dpkg.sh')
-rwxr-xr-x | scripts/prep-librewolf-dpkg.sh | 118 |
1 files changed, 66 insertions, 52 deletions
diff --git a/scripts/prep-librewolf-dpkg.sh b/scripts/prep-librewolf-dpkg.sh index bebac15..9b827d1 100755 --- a/scripts/prep-librewolf-dpkg.sh +++ b/scripts/prep-librewolf-dpkg.sh @@ -1,7 +1,7 @@ #!/bin/sh # File: prep-librewolf-dpkg.sh # Location: https://gitlab.com/bgstack15/librewolf-linux.git -# Latest supported version: librewolf-85.0-1 +# Latest supported version: librewolf-96.0-1 # Author: bgstack15 # SPDX-License-Identifier: CC-BY-SA-4.0 # Startdate: 2020-11-29 @@ -9,6 +9,7 @@ # 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 96.0.1 # Usage: # Can send these final assets up to Open Build Service # References: @@ -28,7 +29,7 @@ test -z "${librewolf_dpkg_conf}" && export librewolf_dpkg_conf="$( find "$( dirn 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_common_url=https://gitlab.com/librewolf-community/browser/common.git +librewolf_source_url=https://gitlab.com/librewolf-community/browser/source.git librewolf_settings_url=https://gitlab.com/librewolf-community/settings.git librewolf_linux_url=https://gitlab.com/librewolf-community/browser/linux.git @@ -82,8 +83,7 @@ test -z "${SKIP_EXTRACT}" && { # test -z "${SKIP_GIT}" && ( # yes, use a sub-shell because of this cd. pushd is a bash builtin, but we are using sh and not bash. # cd "${git_source_dir}" - lw_cv="${lw_common_version}" ; test -z "${lw_cv}" && lw_cv=${librewolf_version} - git clone "${librewolf_common_url}" ${git_source_dir}/common || : ; ( cd "${git_source_dir}/common" ; git checkout master ; git pull ; git checkout "v${lw_cv}" ; ) + git clone "${librewolf_source_url}" ${git_source_dir}/source || : ; ( cd "${git_source_dir}/source" ; git checkout main ; git pull ; ) git clone "${librewolf_settings_url}" ${git_source_dir}/settings || : ; ( cd "${git_source_dir}/settings" ; git checkout master ; git pull ; ) git clone "${librewolf_linux_url}" ${git_source_dir}/linux || : ; ( cd "${git_source_dir}/linux" ; git checkout master ; git pull ; git checkout "v${librewolf_version}" ; ) @@ -119,7 +119,9 @@ EOF # overlay the orig tarball contents with LibreWolf contents # LibreWolf branding -cp -pr "${git_source_dir}"/common/source_files/browser/branding "${source_dir}"/browser/ +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 <<EOF >> "${debian_dir}${_mozconfig}" @@ -127,19 +129,19 @@ cat <<EOF >> "${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-release ac_add_options --enable-hardening ac_add_options --enable-rust-simd -# Branding ac_add_options --enable-update-channel=release +# 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 -ac_add_options --with-unsigned-addon-scopes=app,system -ac_add_options --allow-addon-sideload + +export MOZ_REQUIRE_SIGNING= # Features ac_add_options --enable-jack @@ -150,6 +152,7 @@ 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}" ; } @@ -194,50 +197,61 @@ librewolf/stop-undesired-requests.patch -p1 librewolf/about-dialog.patch -p1 EOF else - cp -pr "${git_source_dir}"/common/patches/megabar.patch \ - "${git_source_dir}"/common/patches/remove_addons.patch \ - "${git_source_dir}"/common/patches/mozilla-vpn-ad.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 \ - "${git_source_dir}"/linux/deb_patches/*.patch \ - "${git_source_dir}"/common/patches/mozilla_dirs.patch \ - "${git_source_dir}"/common/patches/allow-ubo-private-mode.patch \ - "${git_source_dir}"/common/patches/ui-patches/*.patch \ + cp -pr $( sed -r "${git_source_dir}"/source/assets/patches.txt -e "s@^@/home/librewolf/debian/git/source/@" ) \ "${debian_dir}"/patches/librewolf/ - cat <<EOF >> "${debian_dir}"/patches/series -librewolf/armhf-reduce-linker-memory-use.patch -p1 -librewolf/fix-armhf-webrtc-build.patch -p1 -librewolf/webrtc-fix-compiler-flags-for-armhf.patch -p1 -librewolf/remove_addons.patch -p1 -librewolf/megabar.patch -p1 -librewolf/reduce-rust-debuginfo.patch -p1 -librewolf/mozilla-vpn-ad.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 -librewolf/mozilla_dirs.patch -p1 -librewolf/allow-ubo-private-mode.patch -p1 -librewolf/add-language-warning.patch -p1 -librewolf/pref-naming.patch -p1 -librewolf/remove-branding-urlbar.patch -p1 -librewolf/remove-cfrprefs.patch -p1 -librewolf/remove-organization-policy-banner.patch -p1 -librewolf/remove-snippets-from-home.patch -p1 -librewolf/sanitizing-description.patch -p1 + awk -F'/' '{print "librewolf/"$NF}' "${git_source_dir}"/source/assets/patches.txt | \ + sed -r -e 's@$@ -p1@' >> "${debian_dir}"/patches/series + # remove xmas because it does the same tasks as what we accomplish in this script. + sed -i -r -e '/xmas\.patch/s/^/#/;' "${debian_dir}"/patches/series + # Fixes to the LibreWolf patches for version 96.0.1. + # remove_addons.patch will be fixed when https://gitlab.com/librewolf-community/browser/source/-/merge_requests/10 + test -n "a" && patch -p1 "${debian_dir}/patches/librewolf/remove_addons.patch" <<EOF +diff --git a/patches/remove_addons.patch b/patches/remove_addons.patch +index a6585ed..3487f6d 100644 +--- a/patches/remove_addons.patch ++++ b/patches/remove_addons.patch +@@ -13,7 +13,7 @@ index 269dcb2..ed7c31d 100644 + - "report-site-issue", + "pictureinpicture", + "proxy-failover", +- ] ++ "search-detection", + diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in + index 496379c..dd6f359 100644 + --- a/browser/locales/Makefile.in EOF - # Fixes to the LibreWolf patches for version 95.0.1 - # None yet + # just for the dpkg, because of dpkg changes to the moz.build + test -n "a" && patch -p1 "${debian_dir}"/patches/librewolf/xmas.patch <<EOF +diff --git a/patches/xmas.patch b/patches/xmas.patch +index 8d5103c..39861c3 100644 +--- a/patches/xmas.patch ++++ b/patches/xmas.patch +@@ -35,8 +35,8 @@ diff --git a/moz.build b/moz.build + index 41c9ad7..046e01b 100644 + --- a/moz.build + +++ b/moz.build +-@@ -202,3 +202,5 @@ SPHINX_TREES["metrics"] = "docs/metrics" +- SPHINX_TREES["gtest"] = "docs/gtest" ++@@ -205,3 +205,5 @@ ++ DIRS += ["debian/extra-stuff"] + + include("build/templates.mozbuild") + + +EOF + + # Fixes for Debian Firefox? 96.0.1 + # there's probably a better way to do this with pip, but I don't know it. + # Basically, we are updating importlib_metadata and attrs to min needed because + # somehow they're wrong in the orig.tar.xz. + pip3 install --target "${source_dir}"/third_party/python attrs importlib_metadata + cd "${source_dir}"/third_party/python + for word in attrs importlib_metadata zipp ; + do + # yes, move importlib_metadata-4.10.1.dist-info/ to inside importlib_metadata/ + # we could not just loop the pip3 command because zipp is dragged in by importlib_metadata. + mv -f "${word}"-* "${word}"/ || : + done + cd "${OLDPWD}" fi # observe that build-with-libstdc++-7 is disabled for this dpkg. Debian builds Firefox with gcc, not clang. @@ -293,7 +307,7 @@ rm -rf "${debian_dir}"/librewolf_settings cp -pr "${git_source_dir}"/settings "${debian_dir}"/librewolf_settings rm -rf "${debian_dir}"/librewolf_settings/.git* -cp -p "${git_source_dir}"/common/source_files/search-config.json "${debian_dir}"/ +cp -p "${git_source_dir}"/source/assets/search-config.json "${debian_dir}"/ sed -i -r "${debian_dir}"/rules \ -e '/override_dh_auto_configure/a\ cp -pf debian/search-config.json services/settings/dumps/main/' |