builder: add builder script
Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
This commit is contained in:
parent
a5e8de1eb2
commit
b21726335e
67
builder.sh
Normal file
67
builder.sh
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
# Gentoo Asahi release builder
|
||||||
|
|
||||||
|
: ${BASEDIR:="/var/tmp/catalyst"}
|
||||||
|
: ${BUILDDIR:="${BASEDIR}/builds"}
|
||||||
|
: ${VER:=$(date +'%Y%m%d')}
|
||||||
|
: ${GENTOO_MIRROR:="https://mirror.aarnet.edu.au/pub/gentoo/"}
|
||||||
|
|
||||||
|
echo "Trying to enter ${BASEDIR}..."
|
||||||
|
cd "${BASEDIR}"
|
||||||
|
|
||||||
|
echo "Cleaning out ${BASEDIR}..."
|
||||||
|
#rm -rf "${BASEDIR}"/*
|
||||||
|
|
||||||
|
echo "Cloning Gentoo Asahi releng files..."
|
||||||
|
git clone https://github.com/chadmed/gentoo-asahi-releng \
|
||||||
|
--branch=asahi \
|
||||||
|
--depth=1 \
|
||||||
|
--quiet \
|
||||||
|
"${BASEDIR}/releng"
|
||||||
|
|
||||||
|
echo "Setting up ::gentoo repo"
|
||||||
|
mkdir "${BASEDIR}"/repos
|
||||||
|
git clone https://github.com/gentoo/gentoo.git \
|
||||||
|
--depth=1 \
|
||||||
|
--bare \
|
||||||
|
-c gc.reflogExpire=0 \
|
||||||
|
-c gc.reflogExpireUnreachable=0 \
|
||||||
|
-c gc.rerereresolved=0 \
|
||||||
|
-c gc.rerereunresolved=0 \
|
||||||
|
-c gc.pruneExpire=now \
|
||||||
|
--branch=master \
|
||||||
|
--quiet \
|
||||||
|
"${BASEDIR}/repos/gentoo.git"
|
||||||
|
catalyst --snapshot master
|
||||||
|
|
||||||
|
echo "Cloning ::asahi overlay"
|
||||||
|
git clone https://github.com/chadmed/asahi-overlay \
|
||||||
|
--quiet \
|
||||||
|
"${BASEDIR}/asahi-overlay"
|
||||||
|
|
||||||
|
echo "Getting latest stage3 from Gentoo Mirror..."
|
||||||
|
mkdir "${BASEDIR}"/builds
|
||||||
|
stage3_line=$(curl -L "${GENTOO_MIRROR}/releases/arm64/autobuilds/current-stage3-arm64-openrc/latest-stage3-arm64-openrc.txt" | grep "stage3")
|
||||||
|
stage3_path="${BASEDIR}/builds/${stage3_line% *}"
|
||||||
|
curl -L "${GENTOO_MIRROR}/releases/arm64/autobuilds/current-stage3-arm64-openrc/${stage3_line% *}" \
|
||||||
|
-o "${stage3_path}" -q
|
||||||
|
|
||||||
|
echo "Setting up spec files for build..."
|
||||||
|
cp "${BASEDIR}/releng/releases/specs/arm64/"*.spec "${BASEDIR}/."
|
||||||
|
echo " Setting version timestamp to ${VER}"
|
||||||
|
sed -i "s/@TIMESTAMP@/${VER}/g" "${BASEDIR}"/*.spec
|
||||||
|
echo " Setting ::gentoo snapshot to master"
|
||||||
|
sed -i "s/@TREEISH@/master/g" "${BASEDIR}"/*.spec
|
||||||
|
echo " Setting stage3 path"
|
||||||
|
sed -i "s+@STAGE3_PATH@+${stage3_line% *}+g" "${BASEDIR}"/*.spec
|
||||||
|
echo " Setting releng repo directory"
|
||||||
|
sed -i "s+@REPO_DIR@+${BASEDIR}/releng+g" "${BASEDIR}"/*.spec
|
||||||
|
echo " Setting asahi-overlay directory"
|
||||||
|
sed -i "s+@ASAHIOVERLAY@+${BASEDIR}/asahi-overlay+g" "${BASEDIR}"/*.spec
|
||||||
|
|
||||||
|
echo "Building stage1..."
|
||||||
|
catalyst -f installcd-stage1.spec
|
||||||
|
|
||||||
|
echo "Building stage2 ISO..."
|
||||||
|
catalyst -f installcd-stage2-minimal.spec
|
Loading…
Reference in a new issue