aboutsummaryrefslogtreecommitdiff
path: root/browser/linux/build.sh
diff options
context:
space:
mode:
Diffstat (limited to 'browser/linux/build.sh')
-rwxr-xr-xbrowser/linux/build.sh50
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;
bgstack15