Re: [PATCH] dtdiff: change to POSIX shell

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Wed, Jan 10, 2018 at 12:47:56AM -0500, Mike Frysinger wrote:
> From: Mike Frysinger <vapier@xxxxxxxxxxxx>
> 
> This changes from the bash-specific process substitution feature to
> reading with pipes.  It relies on /dev/fd or /proc/self/fd existing.
> 
> URL: https://crbug.com/756559
> Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxxxx>

Yeah, sorry, replacing a dependency on a complex but widely available
shell with a much more cryptic dependency on a Linux specific feature
does not seem like a win to me.

> ---
>  dtdiff | 19 +++++++++++++------
>  1 file changed, 13 insertions(+), 6 deletions(-)
> 
> diff --git a/dtdiff b/dtdiff
> index 5fa772b0ab62..4d1b71756c2f 100644
> --- a/dtdiff
> +++ b/dtdiff
> @@ -1,8 +1,4 @@
> -#! /bin/bash
> -
> -# This script uses the bash <(...) extension.
> -# If you want to change this to work with a generic /bin/sh, make sure
> -# you fix that.
> +#! /bin/sh
>  
>  
>  DTC=dtc
> @@ -35,4 +31,15 @@ if [ $# != 2 ]; then
>      exit 1
>  fi
>  
> -diff -u <(source_and_sort "$1") <(source_and_sort "$2")
> +for dir in /dev/fd /proc/self/fd; do
> +    if [ -d "${dir}" ]; then
> +        break
> +    fi
> +done
> +
> +source_and_sort "$1" | (
> +    # Duplicate current stdin from the first file to fd 3 so we can change fd 0
> +    # to the second file.
> +    exec 3<&0
> +    source_and_sort "$2" | diff -u "${dir}/3" "${dir}/0"
> +)

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Device Tree]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux