From d3d893cb4a3e597f6b406558a2839a7d1784aa6a Mon Sep 17 00:00:00 2001 From: jroddev Date: Sun, 13 Feb 2022 17:07:14 +1100 Subject: [PATCH] g++ install is failing because + is treated as a regex control character --- pre_cache_action.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pre_cache_action.sh b/pre_cache_action.sh index 51a5b78..8cab7a7 100755 --- a/pre_cache_action.sh +++ b/pre_cache_action.sh @@ -15,12 +15,12 @@ mkdir -p $cache_dir echo -n "Validating action arguments (version='$version', packages='$packages')..."; echo $version | grep -o " " > /dev/null if [ $? -eq 0 ]; then - echo "aborted." + echo "aborted." echo "Version value '$version' cannot contain spaces." >&2 exit 1 fi if [ "$packages" == "" ]; then - echo "aborted." + echo "aborted." echo "Packages argument cannot be empty." >&2 exit 2 fi @@ -28,7 +28,8 @@ echo "done." echo -n "Verifying packages..." for package in $packages; do - apt-cache search ^$package$ | grep $package > /dev/null + escaped=$(echo $package | sed 's/+/\\+/g') + apt-cache search ^$escaped$ | grep $package > /dev/null if [ $? -ne 0 ]; then echo "aborted." echo "Package '$package' not found." >&2