some script
This commit is contained in:
58
generate_pkgbuild.sh
Executable file
58
generate_pkgbuild.sh
Executable file
@@ -0,0 +1,58 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
CLONE_URL="https://izackpgit.duckdns.org/izackp/Apollo.git"
|
||||||
|
REPO_DIR="$(dirname "$0")"
|
||||||
|
BUILD_DIR="$REPO_DIR/build"
|
||||||
|
PKG_DIR="$REPO_DIR/pkg"
|
||||||
|
|
||||||
|
COMMIT=$(git rev-parse HEAD)
|
||||||
|
BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
||||||
|
|
||||||
|
RAW_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0")
|
||||||
|
BUILD_VERSION="${RAW_TAG#v}"
|
||||||
|
|
||||||
|
COMMIT_SHORT=$(git rev-parse --short HEAD)
|
||||||
|
COMMIT_COUNT=$(git rev-list "${RAW_TAG}..HEAD" --count)
|
||||||
|
|
||||||
|
if [[ "$COMMIT_COUNT" -gt 0 ]]; then
|
||||||
|
sub_version=".r${COMMIT_COUNT}.g${COMMIT_SHORT}"
|
||||||
|
else
|
||||||
|
sub_version=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "BRANCH: $BRANCH"
|
||||||
|
echo "BUILD_VERSION: $BUILD_VERSION"
|
||||||
|
echo "SUB_VERSION: $sub_version"
|
||||||
|
echo "COMMIT: $COMMIT"
|
||||||
|
echo "CLONE_URL: $CLONE_URL"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Generate PKGBUILD
|
||||||
|
mkdir -p "$BUILD_DIR"
|
||||||
|
|
||||||
|
BRANCH="$BRANCH" \
|
||||||
|
BUILD_VERSION="$BUILD_VERSION" \
|
||||||
|
CLONE_URL="$CLONE_URL" \
|
||||||
|
COMMIT="$COMMIT" \
|
||||||
|
cmake \
|
||||||
|
-DSUNSHINE_CONFIGURE_ONLY=ON \
|
||||||
|
-DSUNSHINE_CONFIGURE_PKGBUILD=ON \
|
||||||
|
-DSUNSHINE_SUB_VERSION="$sub_version" \
|
||||||
|
-S "$REPO_DIR" \
|
||||||
|
-B "$BUILD_DIR"
|
||||||
|
|
||||||
|
# Set up pkg directory
|
||||||
|
mkdir -p "$PKG_DIR"
|
||||||
|
cp "$BUILD_DIR/PKGBUILD" "$PKG_DIR/"
|
||||||
|
cp "$BUILD_DIR/sunshine.install" "$PKG_DIR/"
|
||||||
|
|
||||||
|
# Generate .SRCINFO
|
||||||
|
cd "$PKG_DIR"
|
||||||
|
makepkg --printsrcinfo > .SRCINFO
|
||||||
|
|
||||||
|
# Build the package
|
||||||
|
makepkg -s --noconfirm
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Package built in $PKG_DIR"
|
||||||
Reference in New Issue
Block a user