2020-01-11 16:51:04 +00:00
|
|
|
#! /usr/bin/env bash
|
|
|
|
# Args: <config-file> <arch> <builder-args> [<repo>]
|
|
|
|
|
|
|
|
if [ -z "$BUILD_DIR" ]; then
|
|
|
|
BUILD_DIR=build
|
|
|
|
fi
|
|
|
|
|
2020-07-07 16:04:12 +00:00
|
|
|
# Reset env
|
|
|
|
while read i
|
|
|
|
do
|
|
|
|
unset "$i"
|
|
|
|
done < <(printenv | cut -d '=' -f 1 | grep -vE '^(PWD|PATH|HOME|BUILD_DIR)$')
|
|
|
|
printenv &&
|
|
|
|
|
|
|
|
# Build
|
2020-01-11 20:51:01 +00:00
|
|
|
if [ -z "$4" ]; then
|
2020-12-18 00:18:08 +00:00
|
|
|
BUILD_DIR= exec flatpak-builder $3 --arch "$2" --sandbox --rebuild-on-sdk-change --bundle-sources "$BUILD_DIR" "$1"
|
2020-01-11 20:51:01 +00:00
|
|
|
else
|
2020-12-24 22:05:08 +00:00
|
|
|
HASH="$("$(dirname "$0")/hash_modules.py" --installed "$1" "$2" | sed -n '1p')" &&
|
2020-12-25 14:31:40 +00:00
|
|
|
ID="$("$(dirname "$0")/hash_modules.py" --get-id "$1" "$2" | ( IFS=/; while read a b c; do echo "$a/$b.Builds/$c"; exit 1; done ) || exit 0; exit 1 )" &&
|
2020-12-24 22:05:08 +00:00
|
|
|
(
|
|
|
|
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" &&
|
2020-12-25 14:31:40 +00:00
|
|
|
echo -n "Export $ID: " &&
|
2020-12-24 22:05:08 +00:00
|
|
|
ostree commit --repo "$4" --owner-uid=0 --owner-gid=0 --no-xattrs --generate-sizes --skip-if-unchanged --tree=dir=.flatpak-builder/build --branch "$ID"
|
2020-12-18 00:18:08 +00:00
|
|
|
fi
|