diff options
Diffstat (limited to 'browser/linux/build.sh')
-rwxr-xr-x | browser/linux/build.sh | 50 |
1 files changed, 29 insertions, 21 deletions
diff --git a/browser/linux/build.sh b/browser/linux/build.sh index c95b99f..a85d8b9 100755 --- a/browser/linux/build.sh +++ b/browser/linux/build.sh @@ -3,6 +3,7 @@ printf "\n------------------------------------- SCRIPT SETUP ------------------- # Prevents build from breaking in CI/CD environments export SHELL=/bin/bash; +printf "SHELL=$SHELL\n"; # Aborts the script upon any faliure set -e; @@ -24,17 +25,29 @@ printf "ICON_FOLDER: $ICON_FOLDER\n"; printf "PACKAGE_FILE: $PACKAGE_FILE\n"; printf "APPIMAGE_RESOURCE_FOLDER: $APPIMAGE_RESOURCE_FOLDER\n"; +printf "\n\n-------------------------------------- PREBUILD ---------------------------------------------\n"; + # Installs some needed dependencies printf "\nInstalling script dependencies\n"; apt update; -apt install sudo python python3 inkscape icnsutils wget -y; +apt install python python3 inkscape icnsutils wget -y; -printf "\n\n---------------------------------- ICON GENERATION ------------------------------------------\n"; +# Downloads and runs bootstrapper to install more dependencies. +printf "\nRunning bootstrapper to install build dependencies\n"; +wget https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py; +python ./bootstrap.py --application-choice=browser --no-interactive || true +rm -f ./bootstrap.py; + +# adds the new rust install to PATH +printf "\nAdding new rust install to PATH\n"; +. $HOME/.cargo/env; -# Displays message +printf "\n\n---------------------------------- ICON GENERATION ------------------------------------------\n"; +# Generates Icons for branding printf "\nGenerating icons from $ICON_FOLDER and moving to $BRANDING_FOLDER\n"; # Generates Linux Icons +printf "\nGenerating Linux Icons\n"; inkscape -z -f $ICON_FOLDER/icon.svg -e $BRANDING_FOLDER/default16.png -w 16 -h 16; inkscape -z -f $ICON_FOLDER/icon.svg -e $BRANDING_FOLDER/default32.png -w 32 -h 32; inkscape -z -f $ICON_FOLDER/icon.svg -e $BRANDING_FOLDER/default48.png -w 48 -h 48; @@ -42,28 +55,18 @@ inkscape -z -f $ICON_FOLDER/icon.svg -e $BRANDING_FOLDER/default64.png -w 64 -h inkscape -z -f $ICON_FOLDER/icon.svg -e $BRANDING_FOLDER/default128.png -w 128 -h 128; # Generates Windows Icons +printf "\nGenerating Windows Icons\n"; inkscape -z -f $ICON_FOLDER/icon.svg -e $BRANDING_FOLDER/VisualElements_70.png -w 70 -h70; inkscape -z -f $ICON_FOLDER/icon.svg -e $BRANDING_FOLDER/VisualElements_150.png -w 150 -h150; # Generates Apple Icons +printf "\nGenerating Apple Icons\n"; png2icns $BRANDING_FOLDER/firefox.icns $BRANDING_FOLDER/default128.png; inkscape -z -f $ICON_FOLDER/document-icon.svg -e $BRANDING_FOLDER/document-icon.png -w 128 -h 128; png2icns $BRANDING_FOLDER/document.icns $BRANDING_FOLDER/document-icon.png; rm -r $BRANDING_FOLDER/document-icon.png -printf "\n\n-------------------------------------- PREBUILD ---------------------------------------------\n"; - -# Downloads and runs bootstrapper to install dependencies. -printf "\nRunning bootstrapper to install build dependencies\n"; -wget https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py; -python ./bootstrap.py --application-choice=browser --no-interactive || true -rm -f ./bootstrap.py; - -# adds the new rust install to PATH -printf "\nAdding new rust install to PATH\n"; -. $HOME/.cargo/env; - -printf "\n\n--------------------------------------- BUILD -----------------------------------------------\n"; +printf "\n\n--------------------------------- SOURCE CODE DOWNLOAD --------------------------------------\n"; # Creates and enters the folder where compiling will take place printf "\nCreating compile folder\n"; @@ -75,13 +78,18 @@ printf "\nCloning Firefox Source Code\n"; hg clone https://hg.mozilla.org/releases/mozilla-release; cd mozilla-release; +printf "\n\n------------------------------ FINAL PREBUILD CONFIGURATION ---------------------------------\n"; + # Copies our branding to the source code, changing it from firefox to librewolf printf "\nCopying branding to firefox source code\n"; cp -r $SOURCE_FOLDER/* ./; -#Disables pocket +# Disables pocket +printf "\nDisabling Pocket\n"; sed -i "s/'pocket'/#'pocket'/g" ./browser/components/moz.build; +printf "\n\n--------------------------------------- BUILD -----------------------------------------------\n"; + # Bootstraps librewolf again (using the ./mach script inside the source code) printf "\nRunning bootstrapper to install build dependencies (using ./mach script within source code)\n"; ./mach bootstrap --application-choice=browser --no-interactive; @@ -144,15 +152,15 @@ printf "\nGenerating AppImage\n"; ./squashfs-root/AppRun ./librewolf; chmod +x ./LibreWolf*.AppImage; +# Move AppImage to build_output folder +printf "\nMoving AppImage to build_output folder\n"; +mv ./LibreWolf*.AppImage ./build_output; + # Delete the appimage tool printf "\nRemoving AppImage tool\n"; rm -f ./appimagetool; rm -rf ./squashfs-root; -# Move AppImage to build_output folder -printf "\nMoving AppImage to build_output folder\n"; -mv ./LibreWolf*.AppImage ./build_output; - # Delete the extracted binary tarball folder printf "\nDeleting extracted binary tarball folder\n"; rm -rf ./librewolf; |