mirror of
https://github.com/outbackdingo/labca.git
synced 2026-01-27 10:19:34 +00:00
67 lines
2.4 KiB
Bash
Executable File
67 lines
2.4 KiB
Bash
Executable File
#!/bin/bash -e
|
|
|
|
set -euo pipefail
|
|
|
|
cd $(dirname $0)
|
|
|
|
TMP_DIR=$(pwd)/tmp
|
|
rm -rf $TMP_DIR && mkdir -p $TMP_DIR/{admin,bin,logs,src}
|
|
|
|
boulderDir=$TMP_DIR/src
|
|
boulderTag="v0.20251216.0"
|
|
boulderUrl="https://github.com/letsencrypt/boulder/"
|
|
cloneDir=$(pwd)/..
|
|
|
|
GIT_VERSION=$(git describe --always --tags 2>/dev/null)
|
|
BUILD_HOST=labca-$GIT_VERSION
|
|
BUILD_IMAGE=$(eval echo $(grep boulder-tools ../patches/docker-compose.patch | head -3 | tail -1 | sed -e "s/\+\s*image://" | sed -e "s/&boulder_tools_image//"))
|
|
|
|
git clone --branch $boulderTag --depth 1 $boulderUrl $boulderDir 2>/dev/null
|
|
cd $boulderDir
|
|
if [ $boulderTag != "main" ]; then
|
|
git checkout $boulderTag -b $boulderTag 2>/dev/null
|
|
fi
|
|
|
|
if [ "$BUILD_IMAGE" == "" ]; then
|
|
BUILD_IMAGE=$(eval echo $(grep boulder-tools $TMP_DIR/src/docker-compose.yml | grep "image:" | head -1 | sed -e "s/image://" | sed -e "s/&boulder_tools_image//"))
|
|
fi
|
|
|
|
BOULDER_TOOLS_TAG=$(grep go1. $TMP_DIR/src/.github/workflows/boulder-ci.yml | head -1 | sed -e "s/\s*- //")
|
|
BUILD_IMAGE=${BUILD_IMAGE/latest/$BOULDER_TOOLS_TAG}
|
|
|
|
echo
|
|
$cloneDir/patch.sh
|
|
cp -r test labca
|
|
$cloneDir/patch-cfg.sh " " "$boulderDir/labca"
|
|
sed -i "s/BUILD_ID = .*/BUILD_ID = \$(shell git describe --always HEAD 2>\/dev\/null) +\$(COMMIT_ID)/" $boulderDir/Makefile
|
|
sed -i "s/BUILD_HOST = .*/BUILD_HOST ?= labca-develop/" $boulderDir/Makefile
|
|
sed -i "s/-ldflags \"-X/-ldflags \"-s -w -X/" $boulderDir/Makefile
|
|
cp -p docker-compose.yml $cloneDir/build/
|
|
|
|
echo
|
|
BASEDIR=/go/src/github.com/letsencrypt/boulder
|
|
docker run -v $boulderDir:$BASEDIR:cached -v $TMP_DIR/bin:$BASEDIR/bin -w $BASEDIR -e BUILD_HOST=$BUILD_HOST $BUILD_IMAGE sh -c "git config --global --add safe.directory $BASEDIR && make build"
|
|
|
|
cp $cloneDir/nginx.conf $TMP_DIR/
|
|
cp $cloneDir/proxy.inc $TMP_DIR/
|
|
cp -rp $cloneDir/gui/* $TMP_DIR/admin/
|
|
head -13 $cloneDir/gui/setup.sh > $TMP_DIR/admin/setup.sh
|
|
sed -i '/^$/d' $TMP_DIR/admin/setup.sh
|
|
|
|
echo
|
|
BASEDIR=/go/src/labca
|
|
docker run -v $TMP_DIR/admin:$BASEDIR:cached -v $TMP_DIR:$BASEDIR/bin -w $BASEDIR -e GIT_VERSION=$GIT_VERSION $BUILD_IMAGE ./setup.sh
|
|
|
|
cp -rp $cloneDir/gui/setup.sh $TMP_DIR/admin/
|
|
cp -rp $cloneDir/backup $TMP_DIR/
|
|
cp -rp $cloneDir/checkcrl $TMP_DIR/
|
|
cp -rp $cloneDir/checkrenew $TMP_DIR/
|
|
cp -rp $cloneDir/commander $TMP_DIR/
|
|
cp -rp $cloneDir/control_do.sh $TMP_DIR/control.sh
|
|
cp -rp $cloneDir/cron_d $TMP_DIR/
|
|
cp -rp $cloneDir/renew $TMP_DIR/
|
|
cp -rp $cloneDir/restore $TMP_DIR/
|
|
cp -rp $cloneDir/utils.sh $TMP_DIR/
|
|
|
|
echo
|