From a84c54ece84a9aa113bed4acd2a5a28374d872dc Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Wed, 21 Dec 2022 14:19:43 +0100 Subject: [PATCH 01/10] (CI) fix script styling (#637) * (CI) fix script styling * Bump VERSION to 1.3.14 --- installer/tue-install-impl.bash | 84 +++++++++++++++++++++++++++++++-- 1 file changed, 79 insertions(+), 5 deletions(-) diff --git a/installer/tue-install-impl.bash b/installer/tue-install-impl.bash index 6b76a17b5..9a50a43f2 100755 --- a/installer/tue-install-impl.bash +++ b/installer/tue-install-impl.bash @@ -207,6 +207,70 @@ function tue-install-target-now # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # +function tue-install-rosdep +{ + tue-install-debug "tue-install-rosdep $*" + + local target=$1 + local now=$2 + + local parent_target=$TUE_INSTALL_CURRENT_TARGET + TUE_INSTALL_CURRENT_TARGET=$target + TUE_INSTALL_CURRENT_TARGET_DIR=$TUE_INSTALL_TARGETS_DIR/$target + + # If file exist, target has been resolved correctly in the past. + if [ ! -f $TUE_INSTALL_STATE_DIR/$target ] + then + tue-install-debug "Target '$target' has not yet been resolved by rosdep, going to installation procedure" + + # Check if target can be resolved by rosdep + tue-install-debug "rosdep resolve $target" + rosdep_res=($(rosdep resolve $target 2>&1)) + if [ $? -eq 0 ] + then + tue-install-debug "rosdep correctly resolved to: ${rosdep_res[@]}" + # Also make sure ros is installed + tue-install-target ros || tue-install-error "Failed to install target 'ROS'" + + # If the target has a parent target, add target as a dependency to the parent target + if [ -n "$parent_target" ] + then + if [ "$parent_target" != "$target" ] + then + echo "$target" >> $TUE_INSTALL_DEPENDENCIES_DIR/$parent_target + echo "$parent_target" >> $TUE_INSTALL_DEPENDENCIES_ON_DIR/$target + sort $TUE_INSTALL_DEPENDENCIES_DIR/$parent_target -u -o $TUE_INSTALL_DEPENDENCIES_DIR/$parent_target + sort $TUE_INSTALL_DEPENDENCIES_ON_DIR/$target -u -o $TUE_INSTALL_DEPENDENCIES_ON_DIR/$target + fi + fi + + case ${rosdep_res[0]} in + "#apt") tue-install-system ${rosdep_res[1]} + ;; + "#pip") tue-install-pip ${rosdep_res[1]} + ;; + *) tue-install-debug "Unsupported rosdep output: ${rosdep_res[@]}"; TUE_INSTALL_CURRENT_TARGET=$parent_target; return 1 + ;; + esac + + touch $TUE_INSTALL_STATE_DIR/$target + + TUE_INSTALL_CURRENT_TARGET=$parent_target + return 0 + else + tue-install-debug "Could not be resolved by rosdep. error: ${rosdep_res[@]}" + TUE_INSTALL_CURRENT_TARGET=$parent_target + return 1 + fi + else + tue-install-debug "Target '$target' already resolved correctly by rosdep, skipping it this time." + TUE_INSTALL_CURRENT_TARGET=$parent_target + return 0 + fi +} + +# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + function tue-install-target { tue-install-debug "tue-install-target $*" @@ -215,19 +279,26 @@ function tue-install-target target=$1 now=$2 - tue-install-debug "Installing target: $target" + tue-install-debug "Installing $target" # Check if valid target received as input - if [ ! -d "$TUE_INSTALL_TARGETS_DIR"/"$target" ] + if [ ! -d $TUE_INSTALL_TARGETS_DIR/$target ] then - tue-install-debug "Target '$target' does not exist." - return 1 + # Check if can be resolved by rosdep + tue-install-rosdep $target + if [ $? -eq 0 ] + then + return 0 + else + tue-install-debug "Target '$target' does not exist." + return 1 + fi fi local parent_target parent_target=$TUE_INSTALL_CURRENT_TARGET - TUE_INSTALL_CURRENT_TARGET_DIR=$TUE_INSTALL_TARGETS_DIR/$target TUE_INSTALL_CURRENT_TARGET=$target + TUE_INSTALL_CURRENT_TARGET_DIR=$TUE_INSTALL_TARGETS_DIR/$target # If the target has a parent target, add target as a dependency to the parent target if [ -n "$parent_target" ] && [ "$parent_target" != "main-loop" ] @@ -324,6 +395,7 @@ function tue-install-target tue-install-error "Invalid install.yaml: $cmds" fi fi + unset cmds # unset cmds as we are not using local, because of the error code. fi if [ -f "$install_file".bash ] @@ -375,6 +447,8 @@ function tue-install-target touch "$state_file" fi + else + tue-install-debug "Target '$target' already installed, skipping it this time." fi TUE_INSTALL_CURRENT_TARGET=$parent_target From 46fcfa1e3dd49710695bcc7db12ad14411d9e306 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Thu, 28 Mar 2019 22:58:06 +0100 Subject: [PATCH 02/10] install ros before calling rosdep --- installer/tue-install-impl.bash | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/installer/tue-install-impl.bash b/installer/tue-install-impl.bash index 9a50a43f2..8a080a750 100755 --- a/installer/tue-install-impl.bash +++ b/installer/tue-install-impl.bash @@ -223,14 +223,15 @@ function tue-install-rosdep then tue-install-debug "Target '$target' has not yet been resolved by rosdep, going to installation procedure" + # Also make sure ros is installed + tue-install-target ros || tue-install-error "Failed to install target 'ROS'" + # Check if target can be resolved by rosdep tue-install-debug "rosdep resolve $target" rosdep_res=($(rosdep resolve $target 2>&1)) if [ $? -eq 0 ] then tue-install-debug "rosdep correctly resolved to: ${rosdep_res[@]}" - # Also make sure ros is installed - tue-install-target ros || tue-install-error "Failed to install target 'ROS'" # If the target has a parent target, add target as a dependency to the parent target if [ -n "$parent_target" ] From 874726e8302cd1024e20141d10cf7120b97f4542 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Thu, 28 Mar 2019 23:24:30 +0100 Subject: [PATCH 03/10] Add ros prefix in dependency 'graph' --- installer/tue-install-impl.bash | 86 ++++++++++++++++++++------------- 1 file changed, 53 insertions(+), 33 deletions(-) diff --git a/installer/tue-install-impl.bash b/installer/tue-install-impl.bash index 8a080a750..419824432 100755 --- a/installer/tue-install-impl.bash +++ b/installer/tue-install-impl.bash @@ -205,6 +205,27 @@ function tue-install-target-now return $? } +function _set_dependencies +{ + local parent_target=$1 + local target=$2 + + # If the target has a parent target, add target as a dependency to the parent target + if [ -n "$parent_target" ] && [ "$parent_target" != "main-loop" ] + then + + if [ "$parent_target" != "$target" ] + then + tue-install-debug "echo $target >> $TUE_INSTALL_DEPENDENCIES_DIR/$parent_target" + tue-install-debug "echo $parent_target >> $TUE_INSTALL_DEPENDENCIES_ON_DIR/$target" + echo "$target" >> "$TUE_INSTALL_DEPENDENCIES_DIR"/"$parent_target" + echo "$parent_target" >> "$TUE_INSTALL_DEPENDENCIES_ON_DIR"/"$target" + sort "$TUE_INSTALL_DEPENDENCIES_DIR"/"$parent_target" -u -o "$TUE_INSTALL_DEPENDENCIES_DIR"/"$parent_target" + sort "$TUE_INSTALL_DEPENDENCIES_ON_DIR"/"$target" -u -o "$TUE_INSTALL_DEPENDENCIES_ON_DIR"/"$target" + fi + fi +} + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # function tue-install-rosdep @@ -223,49 +244,51 @@ function tue-install-rosdep then tue-install-debug "Target '$target' has not yet been resolved by rosdep, going to installation procedure" - # Also make sure ros is installed - tue-install-target ros || tue-install-error "Failed to install target 'ROS'" - # Check if target can be resolved by rosdep tue-install-debug "rosdep resolve $target" rosdep_res=($(rosdep resolve $target 2>&1)) if [ $? -eq 0 ] then - tue-install-debug "rosdep correctly resolved to: ${rosdep_res[@]}" - - # If the target has a parent target, add target as a dependency to the parent target - if [ -n "$parent_target" ] - then - if [ "$parent_target" != "$target" ] - then - echo "$target" >> $TUE_INSTALL_DEPENDENCIES_DIR/$parent_target - echo "$parent_target" >> $TUE_INSTALL_DEPENDENCIES_ON_DIR/$target - sort $TUE_INSTALL_DEPENDENCIES_DIR/$parent_target -u -o $TUE_INSTALL_DEPENDENCIES_DIR/$parent_target - sort $TUE_INSTALL_DEPENDENCIES_ON_DIR/$target -u -o $TUE_INSTALL_DEPENDENCIES_ON_DIR/$target - fi - fi + tue-install-debug "rosdep correctly resolved to: ${rosdep_res[*]}" case ${rosdep_res[0]} in "#apt") tue-install-system ${rosdep_res[1]} ;; "#pip") tue-install-pip ${rosdep_res[1]} ;; - *) tue-install-debug "Unsupported rosdep output: ${rosdep_res[@]}"; TUE_INSTALL_CURRENT_TARGET=$parent_target; return 1 + *) tue-install-debug "Unsupported rosdep output: ${rosdep_res[*]}"; + TUE_INSTALL_CURRENT_TARGET=$parent_target; + TUE_INSTALL_CURRENT_TARGET_DIR=$TUE_INSTALL_TARGETS_DIR/$parent_target; + return 1 ;; esac + if [[ ${rosdep[1]} == "ros-"* ]] + then + # Also make sure ros is installed + tue-install-target ros || tue-install-error "Failed to install target 'ROS'" + fi + + _set_dependencies $parent_target $target + touch $TUE_INSTALL_STATE_DIR/$target TUE_INSTALL_CURRENT_TARGET=$parent_target + TUE_INSTALL_CURRENT_TARGET_DIR=$TUE_INSTALL_TARGETS_DIR/$parent_target return 0 else - tue-install-debug "Could not be resolved by rosdep. error: ${rosdep_res[@]}" + tue-install-debug "Could not be resolved by rosdep. error: ${rosdep_res[*]}" TUE_INSTALL_CURRENT_TARGET=$parent_target + TUE_INSTALL_CURRENT_TARGET_DIR=$TUE_INSTALL_TARGETS_DIR/$parent_target return 1 fi else tue-install-debug "Target '$target' already resolved correctly by rosdep, skipping it this time." + + _set_dependencies $parent_target $target + TUE_INSTALL_CURRENT_TARGET=$parent_target + TUE_INSTALL_CURRENT_TARGET_DIR=$TUE_INSTALL_TARGETS_DIR/$parent_target return 0 fi } @@ -285,11 +308,18 @@ function tue-install-target # Check if valid target received as input if [ ! -d $TUE_INSTALL_TARGETS_DIR/$target ] then - # Check if can be resolved by rosdep - tue-install-rosdep $target - if [ $? -eq 0 ] + # Targets starting with 'ros-' will never be resolved by rosdep + if [[ "$target" != "ros-"* ]] then - return 0 + # Check if can be resolved by rosdep + tue-install-rosdep $target + if [ $? -eq 0 ] + then + return 0 + else + tue-install-debug "Target '$target' does not exist." + return 1 + fi else tue-install-debug "Target '$target' does not exist." return 1 @@ -301,17 +331,7 @@ function tue-install-target TUE_INSTALL_CURRENT_TARGET=$target TUE_INSTALL_CURRENT_TARGET_DIR=$TUE_INSTALL_TARGETS_DIR/$target - # If the target has a parent target, add target as a dependency to the parent target - if [ -n "$parent_target" ] && [ "$parent_target" != "main-loop" ] - then - if [ "$parent_target" != "$target" ] - then - echo "$target" >> "$TUE_INSTALL_DEPENDENCIES_DIR"/"$parent_target" - echo "$parent_target" >> "$TUE_INSTALL_DEPENDENCIES_ON_DIR"/"$target" - sort "$TUE_INSTALL_DEPENDENCIES_DIR"/"$parent_target" -u -o "$TUE_INSTALL_DEPENDENCIES_DIR"/"$parent_target" - sort "$TUE_INSTALL_DEPENDENCIES_ON_DIR"/"$target" -u -o "$TUE_INSTALL_DEPENDENCIES_ON_DIR"/"$target" - fi - fi + _set_dependencies $parent_target $target local state_file state_file_now state_file="$TUE_INSTALL_STATE_DIR"/"$target" From 531b19981684974735c821cfdae540aa2b74e7e7 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Sat, 5 Mar 2022 15:18:27 +0100 Subject: [PATCH 04/10] No need to unset cmds, we are using local --- installer/tue-install-impl.bash | 1 - 1 file changed, 1 deletion(-) diff --git a/installer/tue-install-impl.bash b/installer/tue-install-impl.bash index 419824432..983efac49 100755 --- a/installer/tue-install-impl.bash +++ b/installer/tue-install-impl.bash @@ -416,7 +416,6 @@ function tue-install-target tue-install-error "Invalid install.yaml: $cmds" fi fi - unset cmds # unset cmds as we are not using local, because of the error code. fi if [ -f "$install_file".bash ] From 612d8b6661b90e20cfe4b5537e7c4301fa452272 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Sat, 5 Mar 2022 15:34:09 +0100 Subject: [PATCH 05/10] apply some fixes for now option --- installer/tue-install-impl.bash | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/installer/tue-install-impl.bash b/installer/tue-install-impl.bash index 983efac49..db15cf756 100755 --- a/installer/tue-install-impl.bash +++ b/installer/tue-install-impl.bash @@ -252,9 +252,21 @@ function tue-install-rosdep tue-install-debug "rosdep correctly resolved to: ${rosdep_res[*]}" case ${rosdep_res[0]} in - "#apt") tue-install-system ${rosdep_res[1]} + "#apt") + if [ "$now" == "true" ] + then + tue-install-system-now "${rosdep_res[1]}" + else + tue-install-system "${rosdep_res[1]}" + fi ;; - "#pip") tue-install-pip ${rosdep_res[1]} + "#pip") + if [ "$now" == "true" ] + then + tue-install-pip-now "${rosdep_res[1]}" + else + tue-install-pip "${rosdep_res[1]}" + fi ;; *) tue-install-debug "Unsupported rosdep output: ${rosdep_res[*]}"; TUE_INSTALL_CURRENT_TARGET=$parent_target; From 9e8296489c1aefc6535143a9aadfdd8d7a905ca1 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Sat, 5 Mar 2022 15:36:02 +0100 Subject: [PATCH 06/10] Fix linting --- installer/tue-install-impl.bash | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/installer/tue-install-impl.bash b/installer/tue-install-impl.bash index db15cf756..febbc8997 100755 --- a/installer/tue-install-impl.bash +++ b/installer/tue-install-impl.bash @@ -240,14 +240,17 @@ function tue-install-rosdep TUE_INSTALL_CURRENT_TARGET_DIR=$TUE_INSTALL_TARGETS_DIR/$target # If file exist, target has been resolved correctly in the past. - if [ ! -f $TUE_INSTALL_STATE_DIR/$target ] + if [ ! -f "$TUE_INSTALL_STATE_DIR"/"$target" ] then tue-install-debug "Target '$target' has not yet been resolved by rosdep, going to installation procedure" # Check if target can be resolved by rosdep tue-install-debug "rosdep resolve $target" - rosdep_res=($(rosdep resolve $target 2>&1)) - if [ $? -eq 0 ] + local rosdep_res rosdep_return_code + rosdep_res=$(rosdep resolve "$target" 2>&1) + rosdep_return_code=$? + read -r -a rosdep_res <<< rosdep_res + if [ $rosdep_return_code -eq 0 ] then tue-install-debug "rosdep correctly resolved to: ${rosdep_res[*]}" @@ -275,15 +278,15 @@ function tue-install-rosdep ;; esac - if [[ ${rosdep[1]} == "ros-"* ]] + if [[ ${rosdep_res[1]} == "ros-"* ]] then # Also make sure ros is installed tue-install-target ros || tue-install-error "Failed to install target 'ROS'" fi - _set_dependencies $parent_target $target + _set_dependencies "$parent_target" "$target" - touch $TUE_INSTALL_STATE_DIR/$target + touch "$TUE_INSTALL_STATE_DIR"/"$target" TUE_INSTALL_CURRENT_TARGET=$parent_target TUE_INSTALL_CURRENT_TARGET_DIR=$TUE_INSTALL_TARGETS_DIR/$parent_target @@ -297,7 +300,7 @@ function tue-install-rosdep else tue-install-debug "Target '$target' already resolved correctly by rosdep, skipping it this time." - _set_dependencies $parent_target $target + _set_dependencies "$parent_target" "$target" TUE_INSTALL_CURRENT_TARGET=$parent_target TUE_INSTALL_CURRENT_TARGET_DIR=$TUE_INSTALL_TARGETS_DIR/$parent_target @@ -318,14 +321,13 @@ function tue-install-target tue-install-debug "Installing $target" # Check if valid target received as input - if [ ! -d $TUE_INSTALL_TARGETS_DIR/$target ] + if [ ! -d "$TUE_INSTALL_TARGETS_DIR"/"$target" ] then # Targets starting with 'ros-' will never be resolved by rosdep if [[ "$target" != "ros-"* ]] then # Check if can be resolved by rosdep - tue-install-rosdep $target - if [ $? -eq 0 ] + if tue-install-rosdep "$target" "$now" then return 0 else @@ -343,7 +345,7 @@ function tue-install-target TUE_INSTALL_CURRENT_TARGET=$target TUE_INSTALL_CURRENT_TARGET_DIR=$TUE_INSTALL_TARGETS_DIR/$target - _set_dependencies $parent_target $target + _set_dependencies "$parent_target" "$target" local state_file state_file_now state_file="$TUE_INSTALL_STATE_DIR"/"$target" From e8abe7d48d5a35972c9cef50df76a9ae6a3a4cab Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Sat, 5 Mar 2022 15:49:03 +0100 Subject: [PATCH 07/10] seperation line --- installer/tue-install-impl.bash | 2 ++ 1 file changed, 2 insertions(+) diff --git a/installer/tue-install-impl.bash b/installer/tue-install-impl.bash index febbc8997..0d79ef755 100755 --- a/installer/tue-install-impl.bash +++ b/installer/tue-install-impl.bash @@ -205,6 +205,8 @@ function tue-install-target-now return $? } +# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + function _set_dependencies { local parent_target=$1 From 4248431f20d540d53c39efbc8f269577c5692c9e Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Sat, 5 Mar 2022 15:52:58 +0100 Subject: [PATCH 08/10] tue-install-rosdep fully now compatible --- installer/tue-install-impl.bash | 51 +++++++++++++++++++++++++++++++-- 1 file changed, 49 insertions(+), 2 deletions(-) diff --git a/installer/tue-install-impl.bash b/installer/tue-install-impl.bash index 0d79ef755..1dc10a10d 100755 --- a/installer/tue-install-impl.bash +++ b/installer/tue-install-impl.bash @@ -241,8 +241,36 @@ function tue-install-rosdep TUE_INSTALL_CURRENT_TARGET=$target TUE_INSTALL_CURRENT_TARGET_DIR=$TUE_INSTALL_TARGETS_DIR/$target + local state_file="$TUE_INSTALL_STATE_DIR"/"$target" + local state_file_now="${state_file}-now" + + # Determine if this target needs to be executed + local execution_needed="true" + + if [ -f "$state_file_now" ] + then + tue-install-debug "File $state_file_now does exist, so installation has already been executed with 'now' option. No execution is needed" + execution_needed="false" + elif [ -f "$state_file" ] + then + if [ "$now" == "true" ] + then + tue-install-debug "File $state_file_now doesn't exist, but file $state_file does. So installation has been executed yet, but not with the 'now' option. Going to execute it with 'now' option." + else + tue-install-debug "File $state_file_now does exist. 'now' is not enabled, so no execution needed." + execution_needed="false" + fi + else + if [ "$now" == "true" ] + then + tue-install-debug "Files $state_file_now and $state_file don't exist. Going to execute with 'now' option." + else + tue-install-debug "Files $state_file_now and $state_file don't exist. Going to execute without 'now' option." + fi + fi + # If file exist, target has been resolved correctly in the past. - if [ ! -f "$TUE_INSTALL_STATE_DIR"/"$target" ] + if [ "$execution_needed" == "true" ] then tue-install-debug "Target '$target' has not yet been resolved by rosdep, going to installation procedure" @@ -288,7 +316,12 @@ function tue-install-rosdep _set_dependencies "$parent_target" "$target" - touch "$TUE_INSTALL_STATE_DIR"/"$target" + if [ "$now" == "true" ] + then + touch "$state_file_now" + else + touch "$state_file" + fi TUE_INSTALL_CURRENT_TARGET=$parent_target TUE_INSTALL_CURRENT_TARGET_DIR=$TUE_INSTALL_TARGETS_DIR/$parent_target @@ -312,6 +345,20 @@ function tue-install-rosdep # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # +function tue-install-target-now +{ + tue-install-debug "tue-install-target-now $*" + + local target + target=$1 + + tue-install-debug "calling: tue-install-target $target true" + tue-install-target "$target" "true" + return $? +} + +# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + function tue-install-target { tue-install-debug "tue-install-target $*" From c542af8e106c1b438add5de839005c186df27575 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Sat, 5 Mar 2022 17:41:33 +0100 Subject: [PATCH 09/10] Correct multiline read to array --- installer/tue-install-impl.bash | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/installer/tue-install-impl.bash b/installer/tue-install-impl.bash index 1dc10a10d..f48dc0808 100755 --- a/installer/tue-install-impl.bash +++ b/installer/tue-install-impl.bash @@ -276,10 +276,15 @@ function tue-install-rosdep # Check if target can be resolved by rosdep tue-install-debug "rosdep resolve $target" - local rosdep_res rosdep_return_code + local rosdep_res + local rosdep_return_code rosdep_res=$(rosdep resolve "$target" 2>&1) rosdep_return_code=$? - read -r -a rosdep_res <<< rosdep_res + + local IFS=$'\n' + mapfile -t rosdep_res <<< "$rosdep_res" + unset IFS + if [ $rosdep_return_code -eq 0 ] then tue-install-debug "rosdep correctly resolved to: ${rosdep_res[*]}" From 2a2b70724e6162ee1a1e749c72d5ead5e3752e64 Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Sat, 5 Mar 2022 18:00:46 +0100 Subject: [PATCH 10/10] Dependency file needs to be set also if rosdep target --- installer/tue-install-impl.bash | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/installer/tue-install-impl.bash b/installer/tue-install-impl.bash index f48dc0808..1125770f1 100755 --- a/installer/tue-install-impl.bash +++ b/installer/tue-install-impl.bash @@ -274,6 +274,11 @@ function tue-install-rosdep then tue-install-debug "Target '$target' has not yet been resolved by rosdep, going to installation procedure" + # Empty the target's dependency file + tue-install-debug "Emptying $TUE_INSTALL_DEPENDENCIES_DIR/$target" + truncate -s 0 "$TUE_INSTALL_DEPENDENCIES_DIR"/"$target" + local target_processed=false + # Check if target can be resolved by rosdep tue-install-debug "rosdep resolve $target" local rosdep_res