WineBarrels-BasePlatforms/BasePlatform/v2/build.raw.sh

77 lines
2.6 KiB
Bash

#! /usr/bin/env bash
# Args: <build args> [<repo>]
CONF_PATH="$(dirname "$0")"
if [ -z "$BUILD_DIR_64BIT" ]; then
BUILD_DIR_64BIT=build64
fi
if [ -z "$FLATPKAK_REPO" ]; then
FLATPKAK_REPO="$(echo ~/.local/share/flatpak/repo)"
fi
local_export_ostree() {
# Args: <ref> <output>
(
while read i
do
IFS=':' read i1 i2 <<< "$i"
if [ "$1" == "$i2" ]
then
echo EXPORT: "$i2"
ostree export --repo "$FLATPKAK_REPO" "$i2" | pigz > "$2" || exit 1
exit 0
fi
done <<< "$(ostree refs --repo "$FLATPKAK_REPO")"
exit 1
) || exit 1
}
locals_platform() {
if [ -z "$NO_REBUILD_LOCALE" ]; then
local_export_ostree runtime/org.gnome.Platform.Compat.i386/x86_64/$GNOME_VERSION "$CONF_PATH/i386.tar.gz" || exit 1
local_export_ostree runtime/org.gnome.Platform.Locale/x86_64/$GNOME_VERSION "$CONF_PATH/locale.tar.gz" || exit 1
fi
}
locals_sdk() {
if [ -z "$NO_REBUILD_LOCALE" ]; then
local_export_ostree runtime/org.gnome.Sdk.Compat.i386/x86_64/$GNOME_VERSION "$CONF_PATH/i386.tar.gz" || exit 1
local_export_ostree runtime/org.gnome.Sdk.Locale/x86_64/$GNOME_VERSION "$CONF_PATH/locale.tar.gz" || exit 1
local_export_ostree runtime/org.gnome.Sdk.Docs/x86_64/$GNOME_VERSION "$CONF_PATH/docs.tar.gz" || exit 1
fi
}
source "$(dirname "$0")/versions.sh" &&
TMP_DIR="$(mktemp -d)/." &&
cp -ra "$CONF_PATH/." "$TMP_DIR" &&
CONF_PATH="$TMP_DIR" &&
(
if [ -z "$2" ]; then
if [ -z "$NO_PLATFORM" ]; then
locals_platform &&
echo BUILD: Runtime &&
flatpak-builder $1 --rebuild-on-sdk-change --arch=x86_64 "$BUILD_DIR_64BIT" "$CONF_PATH/RawPlatform-x86_64.yaml" || exit 3
fi
if [ -z "$NO_SDK" ]; then
locals_sdk &&
echo BUILD: Sdk &&
flatpak-builder $1 --rebuild-on-sdk-change --arch=x86_64 "$BUILD_DIR_64BIT" "$CONF_PATH/RawSdk-x86_64.yaml" || exit 6
fi
else
if [ -z "$NO_PLATFORM" ]; then
locals_platform &&
echo BUILD: Runtime &&
flatpak-builder $1 --rebuild-on-sdk-change --arch=x86_64 --gpg-sign=winebarrels@marko10-000.de "--repo=$2" "$BUILD_DIR_64BIT" "$CONF_PATH/RawPlatform-x86_64.yaml" || exit 3
fi
if [ -z "$NO_SDK" ]; then
locals_sdk &&
echo BUILD: Sdk &&
flatpak-builder $1 --rebuild-on-sdk-change --arch=x86_64 --gpg-sign=winebarrels@marko10-000.de "--repo=$2" "$BUILD_DIR_64BIT" "$CONF_PATH/RawSdk-x86_64.yaml" || exit 6
fi
fi
)
RESULT="$!"
rm -rf "$(realpath "$TMP_DIR")"
exit "$RESULT"