40 lines
889 B
Bash
Executable File
40 lines
889 B
Bash
Executable File
#!/usr/bin/bash
|
|
set -eo pipefail
|
|
WORKDIR=${WORKDIR:-workdir}
|
|
MODULEYAML=$1
|
|
|
|
if [ ! -f "$MODULEYAML" ]; then
|
|
echo "Module yaml description $MODULEYAML not found"
|
|
exit -1
|
|
fi
|
|
|
|
if [ ! -d "$WORKDIR" ]; then
|
|
mkdir $WORKDIR
|
|
fi
|
|
|
|
module=$(yq e '.module' $MODULEYAML)
|
|
repo=$(yq e '.repo' $MODULEYAML)
|
|
tag=$(yq e '.tag' $MODULEYAML)
|
|
|
|
builddir="$WORKDIR/$module"
|
|
if [ ! -d "${builddir}" ]; then
|
|
echo je
|
|
if [ ! "$tag" = "null" ]; then
|
|
# prioritize tags
|
|
git clone $repo $builddir -b $tag
|
|
else
|
|
# use commit
|
|
branch=$(yq e '.branch' $MODULEYAML)
|
|
commit=$(yq e '.commit' $MODULEYAML)
|
|
if [ -z "$commit" ]; then
|
|
echo "Error no tag or commit specified"
|
|
exit -1
|
|
fi
|
|
git clone $repo $builddir -b $branch
|
|
git -C $builddir checkout $commit
|
|
fi
|
|
fi
|
|
|
|
ARCH_FILTER="RHEL8%" make -C $builddir $2
|
|
|