34 lines
1.0 KiB
Bash
Executable File
34 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
|
|
SPEC_FILE="$ROOT_DIR/packaging/prem2resolve.spec"
|
|
|
|
if ! command -v rpmspec >/dev/null 2>&1; then
|
|
echo "rpmspec not found. Install rpm-build." >&2
|
|
exit 1
|
|
fi
|
|
|
|
VERSION=$(rpmspec -q --qf '%{version}\n' "$SPEC_FILE" | head -n1)
|
|
NAME=$(rpmspec -q --qf '%{name}\n' "$SPEC_FILE" | head -n1)
|
|
|
|
DIST_DIR="$ROOT_DIR/dist"
|
|
TOPDIR="$ROOT_DIR/rpmbuild"
|
|
TARBALL="$DIST_DIR/${NAME}-${VERSION}.tar.gz"
|
|
|
|
mkdir -p "$DIST_DIR" "$TOPDIR/BUILD" "$TOPDIR/RPMS" "$TOPDIR/SOURCES" "$TOPDIR/SPECS" "$TOPDIR/SRPMS"
|
|
|
|
if ! git -C "$ROOT_DIR" rev-parse --is-inside-work-tree >/dev/null 2>&1; then
|
|
echo "Not a git repository; cannot create source archive." >&2
|
|
exit 1
|
|
fi
|
|
|
|
git -C "$ROOT_DIR" archive --format=tar --prefix="${NAME}-${VERSION}/" HEAD | gzip -n > "$TARBALL"
|
|
|
|
cp "$SPEC_FILE" "$TOPDIR/SPECS/"
|
|
cp "$TARBALL" "$TOPDIR/SOURCES/"
|
|
|
|
rpmbuild --define "_topdir $TOPDIR" -ba "$TOPDIR/SPECS/$(basename "$SPEC_FILE")"
|
|
|
|
echo "Built RPM(s) in: $TOPDIR/RPMS"
|