From f25780603396b1adc27524b9c165106d48c9631d Mon Sep 17 00:00:00 2001 From: ohfp <1813007-ohfp@users.noreply.gitlab.com> Date: Sun, 29 Mar 2020 00:18:58 +0100 Subject: several small script fixes --- binary_tarball/content/launch_librewolf.sh | 29 ++++++++++++++++++++++ binary_tarball/content/toggle-settings.sh | 21 ++++++++++++++++ binary_tarball/scripts/1_Install_Dependencies.sh | 2 +- binary_tarball/scripts/4_Build_Binary_Tarball.sh | 4 +-- .../scripts/5_Configure_Binary_Tarball.sh | 5 +++- 5 files changed, 57 insertions(+), 4 deletions(-) create mode 100755 binary_tarball/content/launch_librewolf.sh create mode 100644 binary_tarball/content/toggle-settings.sh (limited to 'binary_tarball') diff --git a/binary_tarball/content/launch_librewolf.sh b/binary_tarball/content/launch_librewolf.sh new file mode 100755 index 0000000..b574437 --- /dev/null +++ b/binary_tarball/content/launch_librewolf.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +INSTALL_FOLDER=$(realpath $(dirname $0)); +INSTALL_SETTINGS_FOLDER=$INSTALL_FOLDER/settings; +PROFILE_SETTINGS_FOLDER=$HOME/.librewolf/settings; + +# Adds option to install settings if argument is passed +if [ "$1" = "--install-settings" ]; then + mkdir -p $PROFILE_SETTINGS_FOLDER; + cp $INSTALL_SETTINGS_FOLDER/defaults/pref/local-settings.js $PROFILE_SETTINGS_FOLDER/local-settings.js; + cp $INSTALL_SETTINGS_FOLDER/distribution/policies.json $PROFILE_SETTINGS_FOLDER/policies.json; + cp $INSTALL_SETTINGS_FOLDER/librewolf.cfg $PROFILE_SETTINGS_FOLDER/librewolf.cfg; + cp $INSTALL_SETTINGS_FOLDER/toggle-settings.sh $PROFILE_SETTINGS_FOLDER/toggle-settings.sh; +fi + +# Sets up settings links +mkdir -p $INSTALL_FOLDER/defaults/pref/; +mkdir -p $INSTALL_FOLDER/distribution/; +ln -s $PROFILE_SETTINGS_FOLDER/local-settings.js $INSTALL_FOLDER/defaults/pref/local-settings.js; +ln -s $PROFILE_SETTINGS_FOLDER/policies.json $INSTALL_FOLDER/distribution/policies.json; +ln -s $PROFILE_SETTINGS_FOLDER/librewolf.cfg $INSTALL_FOLDER/librewolf.cfg; + +# Sets env variables to disable dedicated profiles (which breaks some packaging methods) +export MOZ_LEGACY_PROFILES=1; +export SNAP_NAME="firefox"; + +# Launches librewolf +chmod +x $INSTALL_FOLDER/librewolf; +$INSTALL_FOLDER/librewolf "$@"; diff --git a/binary_tarball/content/toggle-settings.sh b/binary_tarball/content/toggle-settings.sh new file mode 100644 index 0000000..ff46bde --- /dev/null +++ b/binary_tarball/content/toggle-settings.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +# Exit script with a non-zero exit code if: +# - any command fails (-e | --errexit) +# - any variable is unset (-u | --nounset) +# - a part of a piped sequence fails (-o pipefail) +set -euo pipefail + +SCRIPT_FOLDER=$(realpath $(dirname $0)); + +# Enable settings ------------------------------------------------------------------------------------------ +if [[ "${1}" = "--enable" ]]; then + mv "${SCRIPT_FOLDER}/[DISABLED] local-settings.js" "${SCRIPT_FOLDER}/local-settings.js"; + mv "${SCRIPT_FOLDER}/[DISABLED] policies.json" "${SCRIPT_FOLDER}/policies.json"; + mv "${SCRIPT_FOLDER}/[DISABLED] librewolf.cfg" "${SCRIPT_FOLDER}/librewolf.cfg"; +# Disable settings ------------------------------------------------------------------------------------------ +elif [[ "${1}" = "--disable" ]]; then + mv "${SCRIPT_FOLDER}/local-settings.js" "${SCRIPT_FOLDER}/[DISABLED] local-settings.js"; + mv "${SCRIPT_FOLDER}/policies.json" "${SCRIPT_FOLDER}/[DISABLED] policies.json"; + mv "${SCRIPT_FOLDER}/librewolf.cfg" "${SCRIPT_FOLDER}/[DISABLED] librewolf.cfg"; +fi diff --git a/binary_tarball/scripts/1_Install_Dependencies.sh b/binary_tarball/scripts/1_Install_Dependencies.sh index 1783768..a925e34 100755 --- a/binary_tarball/scripts/1_Install_Dependencies.sh +++ b/binary_tarball/scripts/1_Install_Dependencies.sh @@ -3,7 +3,7 @@ printf "\n\n-------------------------------------- DEPENDENCY INSTALLATION ----- # Setup Script Variables # _DEPENDENCIES="mercurial wget git flatpak flatpak-builder"; -_DEPENDENCIES="wget git xvfb xz-utils"; +_DEPENDENCIES="wget git xvfb xz-utils python3"; # Installs Dependencies printf "\nInstalling dependencies: $_DEPENDENCIES\n"; diff --git a/binary_tarball/scripts/4_Build_Binary_Tarball.sh b/binary_tarball/scripts/4_Build_Binary_Tarball.sh index a7f4784..c1dc1f9 100755 --- a/binary_tarball/scripts/4_Build_Binary_Tarball.sh +++ b/binary_tarball/scripts/4_Build_Binary_Tarball.sh @@ -57,12 +57,12 @@ LLVM_PROFDATA=llvm-profdata \ if [[ ! -s merged.profdata ]]; then echo "No profile data produced." - return 1 + exit 1 fi if [[ ! -s jarlog ]]; then echo "No jar log produced." - return 1 + exit 1 fi echo "Removing instrumented browser..." diff --git a/binary_tarball/scripts/5_Configure_Binary_Tarball.sh b/binary_tarball/scripts/5_Configure_Binary_Tarball.sh index 582e7de..0693e67 100755 --- a/binary_tarball/scripts/5_Configure_Binary_Tarball.sh +++ b/binary_tarball/scripts/5_Configure_Binary_Tarball.sh @@ -1,6 +1,9 @@ #!/bin/bash printf "\n\n--------------------------------- SETTINGS INTEGRATION --------------------------------------\n"; +# Aborts the script upon any faliure +set -e; + # Setup Script Variables BINARY_TARBALL=$1; TOGGLE_SETTINGS_SCRIPT=$2; @@ -32,7 +35,7 @@ cp $LAUNCHER_SCRIPT $_EXTRACTED_TARBALL_FOLDER/launch_librewolf.sh; # until we've worked out how to use `--install-settings` with links # in all major packages instead printf "\nWorkaround: auto-enable Settings\n" -cp $_EXTRACTED_TARBALL_FOLDER/settings/* $_EXTRACTED_TARBALL_FOLDER; +cp -r $_EXTRACTED_TARBALL_FOLDER/settings/* $_EXTRACTED_TARBALL_FOLDER; # Add distribution.ini distini="$_EXTRACTED_TARBALL_FOLDER/distribution/distribution.ini" -- cgit