mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-26 02:11:53 +00:00
* create init resize for pi * wip * defer to OS_ARCH env var * enable password auth in live image * use correct live image path * reorder dependencies * add grub-common as dependency * add more depends * reorder grub * include systemd-resolved * misc fixes * remove grub from dependencies * imports * ssh and raspi builds * fix resolvectl * generate snake-oil on install * update raspi build process * script fixes * fix resize and config * add psmisc * new workflows * include img * pass through OS_ARCH env var * require OS_ARCH * allow dispatching production builds * configurable environment * pass through OS_ARCH on compat build * fix syntax error * crossbuild dependencies * include libavahi-client for cross builds * reorder add-arch * add ports * switch existing repos to amd64 * explicitly install libc6 * add more bullshit * fix some errors * use ignored shlibs * remove ubuntu ports * platform deb * Update depends * Update startos-iso.yaml * Update startos-iso.yaml * require pi-beep * add bios boot, fix environment * Update startos-iso.yaml * inline deb * Update startos-iso.yaml * allow ssh password auth in live build * sync hostname on livecd * require curl
77 lines
2.0 KiB
Bash
Executable File
77 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
shopt -s expand_aliases
|
|
|
|
if [ -z "$OS_ARCH" ]; then
|
|
>&2 echo '$OS_ARCH is required'
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$ARCH" ]; then
|
|
ARCH=$(uname -m)
|
|
fi
|
|
|
|
if [ "$0" != "./build-prod.sh" ]; then
|
|
>&2 echo "Must be run from backend directory"
|
|
exit 1
|
|
fi
|
|
|
|
USE_TTY=
|
|
if tty -s; then
|
|
USE_TTY="-it"
|
|
fi
|
|
|
|
alias 'rust-gnu-builder'='docker run $USE_TTY --rm -e "OS_ARCH=$OS_ARCH" -v "$HOME/.cargo/registry":/root/.cargo/registry -v "$(pwd)":/home/rust/src -P start9/rust-arm-cross:aarch64'
|
|
alias 'rust-musl-builder'='docker run $USE_TTY --rm -e "OS_ARCH=$OS_ARCH" -v "$HOME/.cargo/registry":/root/.cargo/registry -v "$(pwd)":/home/rust/src -P messense/rust-musl-cross:$ARCH-musl'
|
|
|
|
cd ..
|
|
FLAGS=""
|
|
if [[ "$ENVIRONMENT" =~ (^|-)unstable($|-) ]]; then
|
|
FLAGS="unstable,$FLAGS"
|
|
fi
|
|
if [[ "$ENVIRONMENT" =~ (^|-)dev($|-) ]]; then
|
|
FLAGS="dev,$FLAGS"
|
|
fi
|
|
|
|
set +e
|
|
fail=
|
|
if [[ "$FLAGS" = "" ]]; then
|
|
rust-gnu-builder sh -c "(git config --global --add safe.directory '*'; cd backend && cargo build --release --locked --target=$ARCH-unknown-linux-gnu)"
|
|
if test $? -ne 0; then
|
|
fail=true
|
|
fi
|
|
for ARCH in x86_64 aarch64
|
|
do
|
|
rust-musl-builder sh -c "(git config --global --add safe.directory '*'; cd libs && cargo build --release --locked --bin embassy_container_init )"
|
|
if test $? -ne 0; then
|
|
fail=true
|
|
fi
|
|
done
|
|
else
|
|
echo "FLAGS=$FLAGS"
|
|
rust-gnu-builder sh -c "(git config --global --add safe.directory '*'; cd backend && cargo build --release --features $FLAGS --locked --target=$ARCH-unknown-linux-gnu)"
|
|
if test $? -ne 0; then
|
|
fail=true
|
|
fi
|
|
for ARCH in x86_64 aarch64
|
|
do
|
|
rust-musl-builder sh -c "(git config --global --add safe.directory '*'; cd libs && cargo build --release --features $FLAGS --locked --bin embassy_container_init)"
|
|
if test $? -ne 0; then
|
|
fail=true
|
|
fi
|
|
done
|
|
fi
|
|
set -e
|
|
cd backend
|
|
|
|
sudo chown -R $USER target
|
|
sudo chown -R $USER ~/.cargo
|
|
sudo chown -R $USER ../libs/target
|
|
|
|
if [ -n "$fail" ]; then
|
|
exit 1
|
|
fi
|
|
|
|
#rust-arm64-builder aarch64-linux-gnu-strip target/aarch64-unknown-linux-gnu/release/embassyd
|