[ltt-dev] [LTT-CONTROL PATCH] Fix up all use of /dev/stderr for portability to busybox /bin/sh

Mathieu Desnoyers compudj at krystal.dyndns.org
Wed Apr 13 11:41:24 EDT 2011


* Jason Wessel (jason.wessel at windriver.com) wrote:
> The typical shell on a small embedded target using busybox does
> not have support for /dev/stderr.  A more portable way to send
> output to stderr with echo is to redirect stdout to stderr with
> 1>&2.

Merged, thanks!

Mathieu

> 
> Signed-off-by: Jason Wessel <jason.wessel at windriver.com>
> ---
>  lttctl/ltt-armall.sh    |   28 ++++++++++++++--------------
>  lttctl/ltt-disarmall.sh |   20 ++++++++++----------
>  2 files changed, 24 insertions(+), 24 deletions(-)
> 
> diff --git a/lttctl/ltt-armall.sh b/lttctl/ltt-armall.sh
> index d2548b8..3bb245b 100755
> --- a/lttctl/ltt-armall.sh
> +++ b/lttctl/ltt-armall.sh
> @@ -20,26 +20,26 @@ MARKERSROOT=${DEBUGFSROOT}/ltt/markers
>  DEFAULTMODULES="ltt-trace-control ltt-marker-control ltt-tracer ltt-relay ltt-kprobes ltt-userspace-event ltt-statedump ipc-trace kernel-trace mm-trace net-trace fs-trace jbd2-trace syscall-trace trap-trace block-trace rcu-trace"
>  
>  usage () {
> -	echo "Usage: $0 [OPTION]..." > /dev/stderr
> -	echo "Connect lttng markers" > /dev/stderr
> -	echo "" > /dev/stderr
> -	echo "Options:" > /dev/stderr
> -	printf "\t-l           Also activate locking markers (high traffic)\n" > /dev/stderr
> -	printf "\t-n           Also activate detailed network markers (large size)\n" > /dev/stderr
> -	printf "\t-i           Also activate input subsystem events (security implication: records keyboard inputs)\n" > /dev/stderr
> -	echo "" > /dev/stderr
> -	printf "\t-q           Quiet mode, suppress output\n" > /dev/stderr
> -	printf "\t-h           Print this help\n" > /dev/stderr
> -	echo "" > /dev/stderr
> +	echo "Usage: $0 [OPTION]..." 1>&2
> +	echo "Connect lttng markers" 1>&2
> +	echo "" 1>&2
> +	echo "Options:" 1>&2
> +	printf "\t-l           Also activate locking markers (high traffic)\n" 1>&2
> +	printf "\t-n           Also activate detailed network markers (large size)\n" 1>&2
> +	printf "\t-i           Also activate input subsystem events (security implication: records keyboard inputs)\n" 1>&2
> +	echo "" 1>&2
> +	printf "\t-q           Quiet mode, suppress output\n" 1>&2
> +	printf "\t-h           Print this help\n" 1>&2
> +	echo "" 1>&2
>  }
>  
>  if [ "$(id -u)" != "0" ]; then
> -	echo "Error: This script needs to be run as root." > /dev/stderr
> +	echo "Error: This script needs to be run as root." 1>&2
>  	exit 1;
>  fi
>  
>  if [ ! "${DEBUGFSROOT}" ]; then
> -	echo "Error: debugfs not mounted" > /dev/stderr
> +	echo "Error: debugfs not mounted" 1>&2
>  	exit 1;
>  fi
>  
> @@ -49,7 +49,7 @@ if [ ! -d "${MARKERSROOT}" ]; then
>  		modprobe $i
>  	done
>  	if [ ! -d "${MARKERSROOT}" ]; then
> -		echo "Error: LTT trace controller not found (did you compile and load LTTng?)" > /dev/stderr
> +		echo "Error: LTT trace controller not found (did you compile and load LTTng?)" 1>&2
>  		exit 1;
>  	fi
>  fi
> diff --git a/lttctl/ltt-disarmall.sh b/lttctl/ltt-disarmall.sh
> index d60a54e..e77be9a 100755
> --- a/lttctl/ltt-disarmall.sh
> +++ b/lttctl/ltt-disarmall.sh
> @@ -21,27 +21,27 @@ DEFAULTMODULES="ltt-trace-control ltt-marker-control ltt-kprobes ltt-userspace-e
>  EXTRAMODULES="lockdep-trace net-extended-trace"
>  
>  usage () {
> -	echo "Usage: $0 [OPTION]..." > /dev/stderr
> -	echo "Disconnect lttng markers" > /dev/stderr
> -	echo "" > /dev/stderr
> -	echo "Options:" > /dev/stderr
> -	printf "\t-q           Quiet mode, suppress output\n" > /dev/stderr
> -	printf "\t-h           Print this help\n" > /dev/stderr
> -	echo "" > /dev/stderr
> +	echo "Usage: $0 [OPTION]..." 1>&2
> +	echo "Disconnect lttng markers" 1>&2
> +	echo "" 1>&2
> +	echo "Options:" 1>&2
> +	printf "\t-q           Quiet mode, suppress output\n" 1>&2
> +	printf "\t-h           Print this help\n" 1>&2
> +	echo "" 1>&2
>  }
>  
>  if [ "$(id -u)" != "0" ]; then
> -	echo "Error: This script needs to be run as root." > /dev/stderr
> +	echo "Error: This script needs to be run as root." 1>&2
>  	exit 1;
>  fi
>  
>  if [ ! "${DEBUGFSROOT}" ]; then
> -	echo "Error: debugfs not mounted" > /dev/stderr
> +	echo "Error: debugfs not mounted" 1>&2
>  	exit 1;
>  fi
>  
>  if [ ! -d "${MARKERSROOT}" ]; then
> -	echo "Error: LTT trace controller not found (did you compile and load LTTng?)" > /dev/stderr
> +	echo "Error: LTT trace controller not found (did you compile and load LTTng?)" 1>&2
>  	exit 1;
>  fi
>  
> -- 
> 1.7.1
> 
> 
> _______________________________________________
> ltt-dev mailing list
> ltt-dev at lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
> 

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com




More information about the lttng-dev mailing list