65 lines
1.5 KiB
Bash
Executable File
65 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# This script builds a zipped source release for Moonraker and Klipper.
|
|
|
|
install_packages()
|
|
{
|
|
PKGLIST="python3-dev curl"
|
|
|
|
# Update system package info
|
|
report_status "Running apt-get update..."
|
|
sudo apt-get update
|
|
|
|
# Install desired packages
|
|
report_status "Installing packages..."
|
|
sudo apt-get install --yes $PKGLIST
|
|
}
|
|
|
|
report_status()
|
|
{
|
|
echo -e "\n\n###### $1"
|
|
}
|
|
|
|
verify_ready()
|
|
{
|
|
if [ "$EUID" -eq 0 ]; then
|
|
echo "This script must not run as root"
|
|
exit -1
|
|
fi
|
|
|
|
if [ ! -d "$SRCDIR/.git" ]; then
|
|
echo "This script must be run from a git repo"
|
|
exit -1
|
|
fi
|
|
|
|
if [ ! -d "$KLIPPER_DIR/.git" ]; then
|
|
echo "This script must be run from a git repo"
|
|
exit -1
|
|
fi
|
|
}
|
|
|
|
# Force script to exit if an error occurs
|
|
set -e
|
|
|
|
SRCDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )"/.. && pwd )"
|
|
OUTPUT_DIR="$SRCDIR/.dist"
|
|
KLIPPER_DIR="$HOME/klipper"
|
|
BETA=""
|
|
|
|
# Parse command line arguments
|
|
while getopts "o:k:b" arg; do
|
|
case $arg in
|
|
o) OUTPUT_DIR=$OPTARG;;
|
|
k) KLIPPER_DIR=$OPTARG;;
|
|
b) BETA="-b";;
|
|
esac
|
|
done
|
|
|
|
[ ! -d $OUTPUT_DIR ] && mkdir $OUTPUT_DIR
|
|
verify_ready
|
|
if [ "$BETA" = "" ]; then
|
|
releaseTag=$( git -C $KLIPPER_DIR describe --tags `git -C $KLIPPER_DIR rev-list --tags --max-count=1` )
|
|
echo "Checking out Klipper release $releaseTag"
|
|
git -C $KLIPPER_DIR checkout $releaseTag
|
|
fi
|
|
python3 "$SRCDIR/scripts/build_release.py" -k $KLIPPER_DIR -o $OUTPUT_DIR $BETA
|