diff options
Diffstat (limited to '.github/mock.sh')
-rwxr-xr-x | .github/mock.sh | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/.github/mock.sh b/.github/mock.sh index 7fbe690..ea4f7f3 100755 --- a/.github/mock.sh +++ b/.github/mock.sh | |||
@@ -2,6 +2,8 @@ | |||
2 | 2 | ||
3 | set -x | 3 | set -x |
4 | 4 | ||
5 | set -euo pipefail | ||
6 | |||
5 | export DEBIAN_FRONTEND=noninteractive | 7 | export DEBIAN_FRONTEND=noninteractive |
6 | 8 | ||
7 | BASE_PATH="/src" | 9 | BASE_PATH="/src" |
@@ -18,7 +20,11 @@ SPEC_FILE="${SPEC_DIR}monitoring-plugins.spec" | |||
18 | cd ${BASE_PATH} | 20 | cd ${BASE_PATH} |
19 | 21 | ||
20 | dnf -y --setopt="tsflags=nodocs" update && \ | 22 | dnf -y --setopt="tsflags=nodocs" update && \ |
21 | if [ ${distro_id} != "fedora" ]; then dnf -y --setopt="tsflags=nodocs" install epel-release; else platform_id="$(echo ${platform_id} | sed s/^f/fc/)"; fi && \ | 23 | if [ "${distro_id}" != "fedora" ]; then |
24 | dnf -y --setopt="tsflags=nodocs" install epel-release; | ||
25 | else | ||
26 | platform_id="$(echo "${platform_id}" | sed s/^f/fc/)"; | ||
27 | fi && \ | ||
22 | case ${distro_id} in | 28 | case ${distro_id} in |
23 | ol) | 29 | ol) |
24 | case ${platform_id} in | 30 | case ${platform_id} in |
@@ -32,19 +38,30 @@ dnf -y --setopt="tsflags=nodocs" update && \ | |||
32 | ;; | 38 | ;; |
33 | esac | 39 | esac |
34 | dnf -y --setopt="tsflags=nodocs" install mock rpm-build git-core && \ | 40 | dnf -y --setopt="tsflags=nodocs" install mock rpm-build git-core && \ |
35 | usermod -a -G mock $(whoami) | 41 | usermod -a -G mock "$(whoami)" |
42 | |||
36 | SRC_RPM="monitoring-plugins-*-1.${platform_id}.src.rpm" | 43 | SRC_RPM="monitoring-plugins-*-1.${platform_id}.src.rpm" |
44 | |||
37 | if command -v git > /dev/null 2>&1; then | 45 | if command -v git > /dev/null 2>&1; then |
38 | git config --global --add safe.directory ${BASE_PATH} | 46 | git config --global --add safe.directory ${BASE_PATH} |
39 | SHA="$(git rev-parse HEAD)" | 47 | SHA="$(git rev-parse HEAD)" |
40 | sed "s/^%global commit.*/%global commit ${SHA}/" ${SPEC_FILE} > ${SPEC_DIR}monitoring-plugins-git.spec | 48 | sed "s/^%global commit.*/%global commit ${SHA}/" ${SPEC_FILE} > ${SPEC_DIR}monitoring-plugins-git.spec |
41 | sed -i "s/^%global fromgit.*/%global fromgit 1/" ${SPEC_DIR}monitoring-plugins-git.spec | 49 | sed -i "s/^%global fromgit.*/%global fromgit 1/" ${SPEC_DIR}monitoring-plugins-git.spec |
42 | SPEC_FILE="${SPEC_DIR}monitoring-plugins-git.spec" | 50 | SPEC_FILE="${SPEC_DIR}monitoring-plugins-git.spec" |
43 | SRC_RPM="monitoring-plugins-*git.$(echo ${SHA:0:7})*.${platform_id}.src.rpm" | 51 | SRC_RPM="monitoring-plugins-*git.${SHA:0:7}*.${platform_id}.src.rpm" |
44 | fi | 52 | fi |
53 | |||
45 | mkdir -p "${SRCRPM_DIR}" "${RPM_DIR}" | 54 | mkdir -p "${SRCRPM_DIR}" "${RPM_DIR}" |
46 | #rpmbuild --undefine=_disable_source_fetch --define "_sourcedir ${SOURCE_DIR}" -ba ${SPEC_FILE} | 55 | |
47 | dnf -y --setopt="tsflags=nodocs" install rpmdevtools && spectool -g -C ${SOURCE_DIR} ${SPEC_FILE} && \ | 56 | # Run mock below |
48 | mock --dnf --clean --spec ${SPEC_FILE} --sources=${SOURCE_DIR} --result=${SRCRPM_DIR} --build || { cat ${SRCRPM_DIR}/{root,build}.log; exit 1; } | 57 | # No idea what happens here to be honest |
49 | mock --dnf --clean --sources=${SOURCE_DIR} --result=${RPM_DIR} --rebuild ${SRCRPM_DIR}/${SRC_RPM} || { cat ${RPM_DIR}/{root,build}.log; exit 1; } | 58 | # mock seems to run more containers to build the package |
59 | dnf -y --setopt="tsflags=nodocs" install rpmdevtools && \ | ||
60 | spectool -g -C ${SOURCE_DIR} ${SPEC_FILE} && \ | ||
61 | mock --init && \ | ||
62 | { mock --no-clean --spec ${SPEC_FILE} --sources=${SOURCE_DIR} --result=${SRCRPM_DIR} --build || \ | ||
63 | { cat ${SRCRPM_DIR}/{root,build}.log; exit 1; } } && \ | ||
64 | { mock --no-clean --sources=${SOURCE_DIR} --result=${RPM_DIR} --rebuild "${SRCRPM_DIR}"/${SRC_RPM} || \ | ||
65 | { cat ${RPM_DIR}/{root,build}.log; exit 1; } } | ||
66 | |||
50 | ls -la ${SOURCE_DIR} ${SRCRPM_DIR} ${RPM_DIR} | 67 | ls -la ${SOURCE_DIR} ${SRCRPM_DIR} ${RPM_DIR} |