aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/01_arch_build.sh12
-rwxr-xr-xscripts/02_configure_tarball.sh35
2 files changed, 47 insertions, 0 deletions
diff --git a/scripts/01_arch_build.sh b/scripts/01_arch_build.sh
new file mode 100755
index 0000000..e8d428b
--- /dev/null
+++ b/scripts/01_arch_build.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+pacman --noconfirm -Syu --needed base-devel
+# this is a very ugly fix for recent makepkg-5.1-chmod-shenanigans, which mess up the build process in docker
+sed -E -i 's/^chmod a-s \"\$BUILDDIR\"$/# chmod a-s \"\$BUILDDIR\"/' `which makepkg`
+echo 'nobody ALL=(ALL) NOPASSWD: /usr/bin/pacman' >> /etc/sudoers
+mkdir -p /home/nobody && chown -R nobody /home/nobody
+usermod -d /home/nobody nobody
+# we need to un-expire the account, otherwise PAM will complain
+usermod -e '' nobody
+chown -R nobody .
+# makepkg will not run as root
+sudo -u nobody -E -H makepkg --noconfirm --nosign --syncdeps --cleanbuild --skippgpcheck
diff --git a/scripts/02_configure_tarball.sh b/scripts/02_configure_tarball.sh
new file mode 100755
index 0000000..8657375
--- /dev/null
+++ b/scripts/02_configure_tarball.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+set -e
+
+printf "\n\n---------------- prepare package for other distros ----------------\n"
+
+# Setup Script Variables
+
+# use $CI_PROJECT_DIR unless not in CI, then assign script path
+CI_PROJECT_DIR=${CI_PROJECT_DIR:-$(realpath $(dirname $0)/../)}
+OUTPUT_TARBALL=$CI_PROJECT_DIR/LibreWolf.${CARCH}.tar.bz2
+SOURCE_CODE_BINARY_TARBALL_LOCATION="$CI_PROJECT_DIR/src/firefox-*/obj*/dist/librewolf*.tar.bz2"
+EXTRACTED_TARBALL_FOLDER=$CI_PROJECT_DIR/librewolf_unpacked/librewolf
+
+# Prevents build from breaking in CI/CD environments
+export SHELL=/bin/bash
+
+# Moves the packaged tarball to the specified location
+printf "\nMoving Binary Tarball to output location\n"
+mv $SOURCE_CODE_BINARY_TARBALL_LOCATION $OUTPUT_TARBALL
+
+# Extracts the binary tarball
+printf "\nExtracting librewolf binary tarball\n"
+mkdir librewolf_unpacked
+tar -xf $OUTPUT_TARBALL -C librewolf_unpacked
+
+# Adds the librefox config files to the packaged tarball
+printf "\nCopying librewolf settings to extracted binary tarball\n"
+
+cp -r $CI_PROJECT_DIR/src/settings $EXTRACTED_TARBALL_FOLDER/settings
+cp $CI_PROJECT_DIR/content/toggle-settings.sh $EXTRACTED_TARBALL_FOLDER/settings
+cp $CI_PROJECT_DIR/content/launch_librewolf.sh $EXTRACTED_TARBALL_FOLDER/launch_librewolf.sh
+
+# Repacks the binary tarball
+printf "\nRecompressing binary tarball\n"
+tar -jvcf $OUTPUT_TARBALL -C $EXTRACTED_TARBALL_FOLDER .
bgstack15