Skip to content

Commit

Permalink
common: implement an explicit preference order in sambacc installation
Browse files Browse the repository at this point in the history
 this explicitly implements a preference order for sambacc
    custom installation sources like so:

   local repo -> rpm ->  wheeel -> copr.

 It makes the output a bit more verbose while at it.

Signed-off-by: Michael Adam <[email protected]>
  • Loading branch information
obnoxxx committed Jan 9, 2025
1 parent 21c22af commit 223712d
Showing 1 changed file with 39 additions and 17 deletions.
56 changes: 39 additions & 17 deletions images/common/install-sambacc-common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,26 +31,48 @@ install_sambacc() {


local action=install-from-copr-repo
if [ "${#wheels[@]}" -gt 1 ]; then
echo "more than one wheel file found"
exit 1
elif [ "${#wheels[@]}" -eq 1 ]; then
action=install-wheel
local source_found=0
if [ "${#wheels[@]}" -gt 0 ]; then
echo "INFO: wheel found"
if [ "${#wheels[@]}" -gt 1 ]; then
echo "ERROR: more than one wheel file found"
exit 1
elif [ "${#wheels[@]}" -eq 1 ]; then
echo "sambacc wheel found. Installing wheel."
action=install-wheel
source_found=1
fi
fi

if [ "${#rpmfiles[@]}" -gt 1 ]; then
echo "more than one sambacc rpm file found"
exit 1
elif [ "${#rpmfiles[@]}" -eq 1 ]; then
action=install-rpm
if [ "${#rpmfiles[@]}" -gt 0 ]; then
echo "INFO: rpm file found"
if [ "${#rpmfiles[@]}" -gt 1 ]; then
echo "ERROR: more than one sambacc rpm file found"
exit 1
elif [ "${#rpmfiles[@]}" -eq 1 ]; then
echo "sambacc rpm found. preferring rpm install."
action=install-rpm
source_found=1
fi
fi

if [ "${#repofiles[@]}" -gt 1 ]; then
echo "more than one repo file found"
exit 1
elif [ "${#repofiles[@]}" -eq 1 ]; then
action=install-from-repo
if [ "${#repofiles[@]}" -gt 0 ]; then
echo "INFO: repo file found"
if [ "${#repofiles[@]}" -gt 1 ]; then
echo "ERROR: more than one repo file found"
exit 1
elif [ "${#repofiles[@]}" -eq 1 ]; then
echo "sambacc repo file found. preferring install from local yum repo."
action=install-from-repo
source_found=1
fi
fi
if [ "${source_found}" = "0" ]; then
echo "INFO: no local sambacc installation source found. falling back to copr install."
action=install-from-copr-repo
fi

echo "INFO: selected installation method: '${action}'"



if [ -z "${DEFAULT_JSON_FILE}" ]; then
echo "DEFAULT_JSON_FILE value unset"
Expand Down

0 comments on commit 223712d

Please sign in to comment.