mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Add bash script that generates package
This commit is contained in:
committed by
Dan Christian Bogos
parent
77f63adffe
commit
cac1dc82d0
65
packages/redhat_fedora/generate-package.sh
Normal file → Executable file
65
packages/redhat_fedora/generate-package.sh
Normal file → Executable file
@@ -1,37 +1,64 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
WORKDIR=$HOME/cgr_build
|
||||
SRCDIR=$HOME/go/src/github.com/cgrates/cgrates
|
||||
# Default values
|
||||
BUILD_DIR_DEFAULT=$HOME/cgr_build
|
||||
SRCDIR_DEFAULT=$HOME/go/src/github.com/cgrates/cgrates
|
||||
|
||||
# Parse options
|
||||
while (( "$#" )); do
|
||||
case "$1" in
|
||||
--build-dir)
|
||||
BUILD_DIR=$2
|
||||
shift 2
|
||||
;;
|
||||
--srcdir)
|
||||
SRCDIR=$2
|
||||
shift 2
|
||||
;;
|
||||
-*|--*=) # unsupported flags
|
||||
echo "Error: Unsupported flag $1" >&2
|
||||
exit 1
|
||||
;;
|
||||
*) # preserve positional arguments
|
||||
PARAMS="$PARAMS $1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
# set positional arguments in their proper place
|
||||
eval set -- "$PARAMS"
|
||||
|
||||
# Assign defaults if variables are not set
|
||||
BUILD_DIR=${BUILD_DIR:-$BUILD_DIR_DEFAULT}
|
||||
SRCDIR=${SRCDIR:-$SRCDIR_DEFAULT}
|
||||
|
||||
prepare_environment() {
|
||||
echo "Preparing environment..."
|
||||
sudo dnf install -y rpm-build
|
||||
mkdir -p $WORKDIR/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
|
||||
echo "Making sure dependencies are installed..."
|
||||
sudo dnf install -y rpm-build wget curl tar
|
||||
echo "Creating build directories in $BUILD_DIR..."
|
||||
mkdir -p $BUILD_DIR/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
|
||||
}
|
||||
|
||||
fetch_source() {
|
||||
echo "Fetching source code..."
|
||||
cd $SRCDIR
|
||||
gitLastCommit=$(git rev-parse HEAD)
|
||||
rpmTag=$(git log -1 --format=%ci | date +%Y%m%d%H%M%S)+$(git rev-parse --short HEAD)
|
||||
wget -P $WORKDIR/SOURCES https://github.com/cgrates/cgrates/archive/$gitLastCommit.tar.gz
|
||||
export gitLastCommit=$(git rev-parse HEAD)
|
||||
export rpmTag=$(git log -1 --format=%ci | date +%Y%m%d%H%M%S)+$(git rev-parse --short HEAD)
|
||||
if [ ! -f $BUILD_DIR/SOURCES/$gitLastCommit.tar.gz ]; then
|
||||
wget -P $BUILD_DIR/SOURCES https://github.com/cgrates/cgrates/archive/$gitLastCommit.tar.gz
|
||||
fi
|
||||
}
|
||||
|
||||
copy_spec_file() {
|
||||
echo "Copying spec file..."
|
||||
cp $SRCDIR/packages/redhat_fedora/cgrates.spec $WORKDIR/SPECS
|
||||
echo "Copying RPM spec file..."
|
||||
cp $SRCDIR/packages/redhat_fedora/cgrates.spec $BUILD_DIR/SPECS
|
||||
}
|
||||
|
||||
build_package() {
|
||||
echo "Building RPM package..."
|
||||
cd $WORKDIR
|
||||
rpmbuild -bb --define "_topdir $WORKDIR" SPECS/cgrates.spec
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
echo "Cleaning up..."
|
||||
rm -rf $WORKDIR/SOURCES/*
|
||||
cd $BUILD_DIR
|
||||
rpmbuild -bb --define "_topdir $BUILD_DIR" SPECS/cgrates.spec
|
||||
}
|
||||
|
||||
main() {
|
||||
@@ -39,8 +66,6 @@ main() {
|
||||
fetch_source
|
||||
copy_spec_file
|
||||
build_package
|
||||
cleanup
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user