tools/build.sh

28 lines
1.0 KiB
Bash

#! /usr/bin/env bash
# Args: <config-file> <arch> <builder-args> [<repo>]
if [ -z "$BUILD_DIR" ]; then
BUILD_DIR=build
fi
# Reset env
while read i
do
unset "$i"
done < <(printenv | cut -d '=' -f 1 | grep -vE '^(PWD|PATH|HOME|BUILD_DIR)$')
printenv &&
# Build
if [ -z "$4" ]; then
BUILD_DIR= exec flatpak-builder $3 --arch "$2" --sandbox --rebuild-on-sdk-change --bundle-sources "$BUILD_DIR" "$1"
else
HASH="$("$(dirname "$0")/hash_modules.py" --installed "$1" "$2" | sed -n '1p')" &&
ID="$("$(dirname "$0")/hash_modules.py" --get-id "$1" "$2").Builds" &&
(
find '.flatpak-builder/build' '.flatpak-builder/cache' -delete ||
rm -rf ".flatpak-builder/build" '.flatpak-builder/cache'
) &&
BUILD_DIR= flatpak-builder $3 --arch "$2" --keep-build-dirs --sandbox --rebuild-on-sdk-change --bundle-sources --repo "$4" -s "WB_HASH='${HASH}'" "$BUILD_DIR" "$1" &&
ostree commit --repo "$4" --owner-uid=0 --owner-gid=0 --no-xattrs --generate-sizes --skip-if-unchanged --tree=dir=.flatpak-builder/build --branch "$ID"
fi