Almost working breezy multi-arch build
This commit is contained in:
parent
3818ac3a33
commit
3b437f1b41
|
|
@ -24,7 +24,7 @@ XREAL_DRIVER_DIR=$ROOT_DIR/modules/XRLinuxDriver
|
||||||
source $XREAL_DRIVER_DIR/bin/inject_ua
|
source $XREAL_DRIVER_DIR/bin/inject_ua
|
||||||
|
|
||||||
# check out submodules, recursively for nested ones
|
# check out submodules, recursively for nested ones
|
||||||
git submodule update --init --recursive
|
# git submodule update --init --recursive
|
||||||
|
|
||||||
# if a custom_banner image exists, copy it over the sombrero one
|
# if a custom_banner image exists, copy it over the sombrero one
|
||||||
if [ -e "$VULKAN_DIR/custom_banner.png" ]; then
|
if [ -e "$VULKAN_DIR/custom_banner.png" ]; then
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# To run the build from the package root:
|
# To run the build from the package root (note: requires non-root docker):
|
||||||
# docker buildx build --platform linux/amd64 -f ./docker-build/Dockerfile -t "breezy-desktop:amd64" --load .
|
# docker buildx build --platform linux/amd64 -f ./docker-build/Dockerfile -t "breezy-desktop:amd64" --load .
|
||||||
# docker buildx build --platform linux/arm64 -f ./docker-build/Dockerfile -t "breezy-desktop:arm64" --load .
|
# docker buildx build --platform linux/arm64 -f ./docker-build/Dockerfile -t "breezy-desktop:arm64" --load .
|
||||||
# docker buildx build --platform linux/arm/v7 -f ./docker-build/Dockerfile -t "breezy-desktop:armv7" --load .
|
# docker buildx build --platform linux/arm/v7 -f ./docker-build/Dockerfile -t "breezy-desktop:armv7" --load .
|
||||||
|
|
@ -24,9 +24,20 @@ RUN apt-get update && apt-get install -y \
|
||||||
python3 \
|
python3 \
|
||||||
python3-yaml \
|
python3-yaml \
|
||||||
flatpak \
|
flatpak \
|
||||||
flatpak-builder
|
flatpak-builder \
|
||||||
|
libglib2.0-dev \
|
||||||
|
gnome-shell-extensions
|
||||||
|
|
||||||
|
RUN case "${TARGETPLATFORM}" in \
|
||||||
|
"linux/amd64") FLATPAK_ARCH="x86_64" ;; \
|
||||||
|
"linux/arm64") FLATPAK_ARCH="aarch64" ;; \
|
||||||
|
*) FLATPAK_ARCH="x86_64" ;; \
|
||||||
|
esac && \
|
||||||
|
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo && \
|
||||||
|
flatpak install --user --noninteractive runtime/org.gnome.Sdk/${FLATPAK_ARCH}/46 && \
|
||||||
|
flatpak install --user --noninteractive runtime/org.gnome.Platform/${FLATPAK_ARCH}/46
|
||||||
|
|
||||||
VOLUME /out
|
VOLUME /out
|
||||||
WORKDIR /source
|
WORKDIR /source
|
||||||
|
|
||||||
CMD bin/package_gnome && cp build/*.tar.gz /out/
|
CMD bin/package_gnome && cp gnome/build/*.tar.gz /out/
|
||||||
|
|
@ -12,5 +12,4 @@ fi
|
||||||
|
|
||||||
echo "Building docker image"
|
echo "Building docker image"
|
||||||
docker buildx build --platform linux/amd64 -f ./docker-build/Dockerfile -t "breezy-desktop:amd64" --load .
|
docker buildx build --platform linux/amd64 -f ./docker-build/Dockerfile -t "breezy-desktop:amd64" --load .
|
||||||
docker buildx build --platform linux/arm64 -f ./docker-build/Dockerfile -t "breezy-desktop:arm64" --load .
|
docker buildx build --platform linux/arm64 -f ./docker-build/Dockerfile -t "breezy-desktop:arm64" --load .
|
||||||
docker buildx build --platform linux/arm/v7 -f ./docker-build/Dockerfile -t "breezy-desktop:armv7" --load .
|
|
||||||
|
|
@ -3,17 +3,14 @@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Create output directories
|
# Create output directories
|
||||||
mkdir -p out/x86_64 out/aarch64 out/armv7
|
mkdir -p out/x86_64 out/aarch64
|
||||||
|
|
||||||
# Run containers for each architecture
|
# Run containers for each architecture
|
||||||
sudo rm -rf build/
|
sudo rm -rf build/
|
||||||
docker run --rm -t -v ./:/source -v ./out/x86_64:/out --platform linux/amd64 "breezy-desktop:amd64"
|
docker run --privileged --rm -t -v ./:/source -v ./out/x86_64:/out --platform linux/amd64 "breezy-desktop:amd64"
|
||||||
|
|
||||||
sudo rm -rf build/
|
sudo rm -rf build/
|
||||||
docker run --rm -t -v ./:/source -v ./out/aarch64:/out --platform linux/arm64 "breezy-desktop:arm64"
|
docker run --privileged --rm -t -v ./:/source -v ./out/aarch64:/out --platform linux/arm64 "breezy-desktop:arm64"
|
||||||
|
|
||||||
sudo rm -rf build/
|
|
||||||
docker run --rm -t -v ./:/source -v ./out/armv7:/out --platform linux/arm/v7 "breezy-desktop:armv7"
|
|
||||||
|
|
||||||
# build directory structure is all owned by root because of docker, delete it all now
|
# build directory structure is all owned by root because of docker, delete it all now
|
||||||
sudo rm -rf build/
|
sudo rm -rf build/
|
||||||
|
|
@ -5,11 +5,6 @@ UUID="breezydesktop@xronlinux.com"
|
||||||
# fail on error
|
# fail on error
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
if [[ $EUID -eq 0 ]]; then
|
|
||||||
echo "This script must NOT be run as root" 1>&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# https://stackoverflow.com/a/246128
|
# https://stackoverflow.com/a/246128
|
||||||
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
|
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
Subproject commit 68e1c44d890cc317241dae25abba6cde8093e22a
|
Subproject commit bbf77403b432e25b763900a6fc90ff551b914155
|
||||||
|
|
@ -16,12 +16,13 @@ check_command "flatpak-builder"
|
||||||
# https://stackoverflow.com/a/246128
|
# https://stackoverflow.com/a/246128
|
||||||
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
|
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
|
||||||
|
|
||||||
TMP_DIR=$(mktemp -d -t breezy-ui-flatpak-XXXXXXXXXX)
|
TMP_DIR=$(mktemp -d --tmpdir=$SCRIPT_DIR -t breezy-ui-flatpak-XXXXXXXXXX)
|
||||||
OUT_DIR=$SCRIPT_DIR/../out
|
OUT_DIR=$SCRIPT_DIR/../out
|
||||||
rm -rf $OUT_DIR
|
rm -rf $OUT_DIR
|
||||||
mkdir -p $OUT_DIR
|
mkdir -p $OUT_DIR
|
||||||
|
|
||||||
flatpak-builder --force-clean $TMP_DIR/build $SCRIPT_DIR/../com.xronlinux.BreezyDesktop.json
|
flatpak build-init $TMP_DIR/build org.example.myapp org.gnome.Sdk org.gnome.Platform
|
||||||
|
flatpak-builder --disable-rofiles-fuse --disable-cache --force-clean $TMP_DIR/build $SCRIPT_DIR/../com.xronlinux.BreezyDesktop.json
|
||||||
flatpak build-export $TMP_DIR/export $TMP_DIR/build
|
flatpak build-export $TMP_DIR/export $TMP_DIR/build
|
||||||
flatpak build-bundle $TMP_DIR/export $OUT_DIR/com.xronlinux.BreezyDesktop.flatpak com.xronlinux.BreezyDesktop --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo
|
flatpak build-bundle $TMP_DIR/export $OUT_DIR/com.xronlinux.BreezyDesktop.flatpak com.xronlinux.BreezyDesktop --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue