mirror of
https://github.com/monitoring-plugins/monitoring-plugins.git
synced 2026-02-13 15:53:47 -05:00
67 lines
2.2 KiB
Bash
Executable file
67 lines
2.2 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -x
|
|
|
|
set -euo pipefail
|
|
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
|
|
BASE_PATH="/src"
|
|
|
|
ls -la ${BASE_PATH}/.github/os_detect.sh
|
|
. ${BASE_PATH}/.github/os_detect.sh
|
|
|
|
SRCRPM_DIR="/tmp/result-srcrpm"
|
|
RPM_DIR="/tmp/result-rpm"
|
|
SPEC_DIR="${BASE_PATH}/.github/"
|
|
SOURCE_DIR="."
|
|
SPEC_FILE="${SPEC_DIR}monitoring-plugins.spec"
|
|
|
|
cd ${BASE_PATH}
|
|
|
|
dnf -y --setopt="tsflags=nodocs" update && \
|
|
if [ "${distro_id}" != "fedora" ]; then
|
|
dnf -y --setopt="tsflags=nodocs" install epel-release;
|
|
else
|
|
platform_id="$(echo "${platform_id}" | sed s/^f/fc/)";
|
|
fi && \
|
|
case ${distro_id} in
|
|
ol)
|
|
case ${platform_id} in
|
|
el9)
|
|
dnf config-manager --add-repo https://copr.fedorainfracloud.org/coprs/g/mock/mock-stable/repo/epel-9/group_mock-mock-stable-epel-9.repo
|
|
;;
|
|
el8)
|
|
dnf config-manager --add-repo https://copr.fedorainfracloud.org/coprs/g/mock/mock-stable/repo/epel-8/group_mock-mock-stable-epel-8.repo
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
dnf -y --setopt="tsflags=nodocs" install mock rpm-build git-core && \
|
|
usermod -a -G mock "$(whoami)"
|
|
|
|
SRC_RPM="monitoring-plugins-*-1.${platform_id}.src.rpm"
|
|
|
|
if command -v git > /dev/null 2>&1; then
|
|
git config --global --add safe.directory ${BASE_PATH}
|
|
SHA="$(git rev-parse HEAD)"
|
|
sed "s/^%global commit.*/%global commit ${SHA}/" ${SPEC_FILE} > ${SPEC_DIR}monitoring-plugins-git.spec
|
|
sed -i "s/^%global fromgit.*/%global fromgit 1/" ${SPEC_DIR}monitoring-plugins-git.spec
|
|
SPEC_FILE="${SPEC_DIR}monitoring-plugins-git.spec"
|
|
SRC_RPM="monitoring-plugins-*git.${SHA:0:7}*.${platform_id}.src.rpm"
|
|
fi
|
|
|
|
mkdir -p "${SRCRPM_DIR}" "${RPM_DIR}"
|
|
|
|
# Run mock below
|
|
# No idea what happens here to be honest
|
|
# mock seems to run more containers to build the package
|
|
dnf -y --setopt="tsflags=nodocs" install rpmdevtools && \
|
|
spectool -g -C ${SOURCE_DIR} ${SPEC_FILE} && \
|
|
mock --init && \
|
|
{ mock --no-clean --spec ${SPEC_FILE} --sources=${SOURCE_DIR} --result=${SRCRPM_DIR} --buildsrpm || \
|
|
{ cat ${SRCRPM_DIR}/{root,build}.log; exit 1; } } && \
|
|
{ mock --no-clean --sources=${SOURCE_DIR} --result=${RPM_DIR} --rebuild "${SRCRPM_DIR}"/${SRC_RPM} || \
|
|
{ cat ${RPM_DIR}/{root,build}.log; exit 1; } }
|
|
|
|
ls -la ${SOURCE_DIR} ${SRCRPM_DIR} ${RPM_DIR}
|