#!/usr/bin/bash set -eo pipefail set -x 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) branch=$(yq e '.branch' $MODULEYAML) commit=$(yq e '.commit' $MODULEYAML) makefile=$(yq e '.makefile' $MODULEYAML) builddir="$WORKDIR/$module" if [ $makefile != null ]; then make_args=" -f $makefile" fi if [ -z "$commit" ]; then echo "Error no tag or commit specified" exit -1 fi # branch can be omitted if it's a tag or commit on default branch if [ ! -z "$branch" ]; then branch_arg="-b $branch" fi if [ ! -d "${builddir}" ]; then git clone $repo $builddir $branch_arg else git -C $builddir fetch origin $branch git -C $builddir fetch --tags git -C $builddir checkout $commit fi make -C $builddir $make_args $2 MODULE=$module ARCH_FILTER="RHEL8%"