From 6e1078c96ea22f0a8c64dd6a4956661a086644db Mon Sep 17 00:00:00 2001 From: David Sidrane Date: Thu, 20 Aug 2020 09:25:48 -0700 Subject: [PATCH] NuttX-Posix least bad LGD Nuttx now supports sh and source (.) sh will open a new process for each invocation. This means the child can not modify the parent env. So we must use . to matain how nuttx worked. Since rc.vehicle_setup is used in both we use source and alis as we did with sh. --- ROMFS/px4fmu_common/init.d/rc.vehicle_setup | 24 +++++++++---------- .../posix/src/px4/common/px4-alias.sh_in | 13 ++++++++++ 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/ROMFS/px4fmu_common/init.d/rc.vehicle_setup b/ROMFS/px4fmu_common/init.d/rc.vehicle_setup index 0f676668d3..87608e44ba 100644 --- a/ROMFS/px4fmu_common/init.d/rc.vehicle_setup +++ b/ROMFS/px4fmu_common/init.d/rc.vehicle_setup @@ -26,10 +26,10 @@ then param set MAV_TYPE ${MAV_TYPE} # Load mixer and configure outputs. - . /etc/init.d/rc.interface + source /etc/init.d/rc.interface # Start standard fixedwing apps. - . /etc/init.d/rc.fw_apps + source /etc/init.d/rc.fw_apps fi # @@ -78,10 +78,10 @@ then param set MAV_TYPE ${MAV_TYPE} # Load mixer and configure outputs. - . /etc/init.d/rc.interface + source /etc/init.d/rc.interface # Start standard multicopter apps. - . /etc/init.d/rc.mc_apps + source /etc/init.d/rc.mc_apps fi # @@ -105,10 +105,10 @@ then param set MAV_TYPE ${MAV_TYPE} # Load mixer and configure outputs. - . /etc/init.d/rc.interface + source /etc/init.d/rc.interface # Start standard UGV apps. - . /etc/init.d/rc.rover_apps + source /etc/init.d/rc.rover_apps fi # @@ -141,10 +141,10 @@ then param set MAV_TYPE ${MAV_TYPE} # Load mixer and configure outputs. - . /etc/init.d/rc.interface + source /etc/init.d/rc.interface # Start standard vtol apps. - . /etc/init.d/rc.vtol_apps + source /etc/init.d/rc.vtol_apps fi # @@ -167,10 +167,10 @@ then param set MAV_TYPE ${MAV_TYPE} # Load mixer and configure outputs. - . /etc/init.d/rc.interface + source /etc/init.d/rc.interface # Start airship apps. - . /etc/init.d/rc.airship_apps + source /etc/init.d/rc.airship_apps fi # @@ -184,10 +184,10 @@ then fi # Load mixer and configure outputs. - . /etc/init.d/rc.interface + source /etc/init.d/rc.interface # Start standard vtol apps. - . /etc/init.d/rc.uuv_apps + source /etc/init.d/rc.uuv_apps fi diff --git a/platforms/posix/src/px4/common/px4-alias.sh_in b/platforms/posix/src/px4/common/px4-alias.sh_in index edf4e576db..4dd43e877f 100644 --- a/platforms/posix/src/px4/common/px4-alias.sh_in +++ b/platforms/posix/src/px4/common/px4-alias.sh_in @@ -28,6 +28,19 @@ sh() { . "$(pwd)$script" } +source() { + script="$1" + case "$script" in + "/"*) + script="$script" + ;; + *) + script="/$script" + ;; + esac + . "$(pwd)$script" +} + # Don't stop on errors. #set -e