diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/01_arch_build.sh | 12 | ||||
-rwxr-xr-x | scripts/02_configure_tarball.sh | 35 |
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 . |