Add script to build rpms and populate distro release

To better support building RPMs for multiple distribution versions, we
need a bit of help to organize the RPMs. We take the path of adding a
'rpms/7.4.1708' style directory, with the implicit knowledge this is for
CentOS and RHEL. Other distribution handling is left for the future.

To ease DOCKER_IMAGE selection for different distribution versions, the
environment variable DISTRO_VERS can be used. This simplifies a bunch of
call locations and scripting when we don't need to change the Docker
image flavor beyond this distribution version toggle.

i.e: DISTRO_VERS=el73 ./indocker.sh ./build_rpms.sh

The directory tree ends up looking like this:
rpms/7.4.1708/kmod-scoutfs-1.0-0.git.5fee207.el7.x86_64.rpm
rpms/7.3.1611/kmod-scoutfs-1.0-0.git.5fee207.el7.x86_64.rpm
This commit is contained in:
Nic Henke
2018-03-29 10:48:03 -06:00
committed by Zach Brown
parent 22f1ded17b
commit 9d18d3a7aa
2 changed files with 19 additions and 0 deletions

1
kmod/.gitignore vendored
View File

@@ -10,5 +10,6 @@ cscope.*
*.spec
*.sw[po]
rpmbuild/
rpms/
scoutfs-*.git*/

18
kmod/build_rpms.sh Executable file
View File

@@ -0,0 +1,18 @@
#!/bin/bash
set -e -o pipefail
# Build RPMs, populating a directory structure that indicates the OS release.
# NOTE: This expects to run in a CentOS or RHEL environment, preferrably one of the versity
# rpm-build Docker containers.
OS_RELEASE=$(grep -oE '[0-9]+\.[0-9]+\.[0-9]+' /etc/redhat-release)
echo "OS RELEASE: $OS_RELEASE"
make rpm
rpm_dist="rpms/$OS_RELEASE"
rm -fvr "$rpm_dist"
mkdir -p "$rpm_dist"
cp -v rpmbuild/RPMS/x86_64/kmod-scoutfs*.rpm "$rpm_dist/"