From 401a744f49a85dd626b84caa99d6e5e041038d83 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonas=20H=C3=B6ppner?= <jonas.hoeppner@garz-fricke.com>
Date: Tue, 13 Sep 2022 12:46:00 +0200
Subject: [PATCH] fng-install: Improve error detection when resolving 'gitlab'
 links

---
 recipes-bsp/fng-install/common/fnginstall-common.sh | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/recipes-bsp/fng-install/common/fnginstall-common.sh b/recipes-bsp/fng-install/common/fnginstall-common.sh
index 5e68cb0b..d16551d5 100644
--- a/recipes-bsp/fng-install/common/fnginstall-common.sh
+++ b/recipes-bsp/fng-install/common/fnginstall-common.sh
@@ -966,12 +966,12 @@ do_load()
     resolving_link=false
     CURL_SOURCE="$1"
     if [ -z "$2" ];then
-        CURL_TARGET="-O"
         CURL_TARGET_FILE="${1##*/}"
     else
-        CURL_TARGET="-o|$2"
         CURL_TARGET_FILE="$2"
     fi
+    CURL_TARGET="-o|$CURL_TARGET_FILE"
+
     while true;do
         OLDIFS=$IFS;IFS='|'
         # shellcheck disable=2086
@@ -981,11 +981,12 @@ do_load()
         if [ "$ret" -eq 0 ];then
             # Handle the 'links' returned by gitlab, actually textfiles containing the real name.
             # if we got a 'zeroline' text file (one line, no line ending), it is probably a 'link'
+            if [ ! -r "$CURL_TARGET_FILE" ];then
+                return 1
+            fi
             if [ "$( head "$CURL_TARGET_FILE" | wc -l)" -eq 0 ];then 
                 resolving_link=true
                 HEADER=$( head -n 1 "$CURL_TARGET_FILE")
-                CURL_TARGET_BASENAME="${CURL_TARGET_FILE##*/}"
-                CURL_TARGET_BASENAME="${CURL_TARGET_BASENAME%.*}"
                 CURL_SOURCE="$(dirname "$CURL_SOURCE")/$HEADER"
                 # Keep the current download
                 mv "$CURL_TARGET_FILE" "$CURL_TARGET_FILE.bak"
-- 
GitLab