blob: a6274149f25470ea4d268edbcbb4547b5dde6264 [file] [log] [blame]
From f7e8949bf0acaf5cab61d5e154e87748ad125626 Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@chromium.org>
Date: Wed, 10 Jan 2018 00:41:43 -0500
Subject: [PATCH] dtdiff: change to POSIX shell
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@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
---
dtdiff | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/dtdiff b/dtdiff
index cdbf079..7699e7a 100644
--- a/dtdiff
+++ b/dtdiff
@@ -1,11 +1,6 @@
-#! /bin/bash
+#! /bin/sh
# SPDX-License-Identifier: GPL-2.0-or-later
-# This script uses the bash <(...) extension.
-# If you want to change this to work with a generic /bin/sh, make sure
-# you fix that.
-
-
DTC=dtc
source_and_sort () {
@@ -36,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.17.1