[PATCH] dtdiff: change to POSIX shell

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



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>
---
 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"
+)
-- 
2.15.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree-compiler" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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