50 lines
1.5 KiB
Bash
50 lines
1.5 KiB
Bash
|
#!/bin/bash
|
||
|
set -e
|
||
|
|
||
|
function do_checks {
|
||
|
|
||
|
info_msg="The build script must be executed from the projects base directory!"
|
||
|
|
||
|
if [ -z "$VERSION" ]; then
|
||
|
echo "ERROR: Build failed! VERSION file not found" >&2
|
||
|
echo "INFO: $info_msg"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
if [ ! -d "$CONTRIB_DIR" ]; then
|
||
|
echo "ERROR: Build failed! Directory does not exist: $CONTRIB_DIR" >&2
|
||
|
echo "INFO: $info_msg"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
}
|
||
|
|
||
|
export VERSION=$(cat VERSION)
|
||
|
export BUILD_DIR=$HOME/rpmbuild
|
||
|
export CONTRIB_DIR="contrib/rpm"
|
||
|
export PACKAGE_DIR=prometheus-ipmi-exporter-$VERSION
|
||
|
|
||
|
do_checks
|
||
|
|
||
|
make build
|
||
|
|
||
|
mkdir -p $BUILD_DIR/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
|
||
|
mkdir -p $BUILD_DIR/SOURCES/$PACKAGE_DIR/usr/bin
|
||
|
mkdir -p $BUILD_DIR/SOURCES/$PACKAGE_DIR/usr/lib/systemd/system
|
||
|
mkdir -p $BUILD_DIR/SOURCES/$PACKAGE_DIR/etc/sysconfig
|
||
|
mkdir -p $BUILD_DIR/SOURCES/$PACKAGE_DIR/etc/sudoers.d
|
||
|
|
||
|
sed "s/VERSION/$VERSION/" $CONTRIB_DIR/prometheus-ipmi-exporter.spec > $BUILD_DIR/SPECS/prometheus-ipmi-exporter.spec
|
||
|
|
||
|
cp $CONTRIB_DIR/systemd/prometheus-ipmi-exporter.service $BUILD_DIR/SOURCES/$PACKAGE_DIR/usr/lib/systemd/system/
|
||
|
cp $CONTRIB_DIR/sudoers/prometheus-ipmi-exporter $BUILD_DIR/SOURCES/$PACKAGE_DIR/etc/sudoers.d/
|
||
|
cp $CONTRIB_DIR/config/prometheus-ipmi-exporter.yml $BUILD_DIR/SOURCES/$PACKAGE_DIR/etc/sysconfig/
|
||
|
cp ipmi_exporter $BUILD_DIR/SOURCES/$PACKAGE_DIR/usr/bin/
|
||
|
|
||
|
cd $BUILD_DIR/SOURCES
|
||
|
tar -czvf $PACKAGE_DIR.tar.gz $PACKAGE_DIR
|
||
|
cd $BUILD_DIR
|
||
|
echo Build dir is: $BUILD_DIR
|
||
|
ls -la $BUILD_DIR/SOURCES
|
||
|
rpmbuild -ba $BUILD_DIR/SPECS/prometheus-ipmi-exporter.spec
|