1*13e8728fSAndroid Build Coastguard Worker#!/bin/bash 2*13e8728fSAndroid Build Coastguard Worker# Copyright (C) 2016 The Android Open Source Project 3*13e8728fSAndroid Build Coastguard Worker# 4*13e8728fSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 5*13e8728fSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 6*13e8728fSAndroid Build Coastguard Worker# You may obtain a copy of the License at 7*13e8728fSAndroid Build Coastguard Worker# 8*13e8728fSAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 9*13e8728fSAndroid Build Coastguard Worker# 10*13e8728fSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 11*13e8728fSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 12*13e8728fSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*13e8728fSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 14*13e8728fSAndroid Build Coastguard Worker# limitations under the License. 15*13e8728fSAndroid Build Coastguard Worker 16*13e8728fSAndroid Build Coastguard Workeralert() { 17*13e8728fSAndroid Build Coastguard Worker echo "$*" >&2 18*13e8728fSAndroid Build Coastguard Worker} 19*13e8728fSAndroid Build Coastguard Worker 20*13e8728fSAndroid Build Coastguard Workerdie() { 21*13e8728fSAndroid Build Coastguard Worker echo "ERROR: $@" 22*13e8728fSAndroid Build Coastguard Worker exit 1 23*13e8728fSAndroid Build Coastguard Worker} 24*13e8728fSAndroid Build Coastguard Worker 25*13e8728fSAndroid Build Coastguard Workercommand_exists () { 26*13e8728fSAndroid Build Coastguard Worker type "$1" &> /dev/null; 27*13e8728fSAndroid Build Coastguard Worker} 28*13e8728fSAndroid Build Coastguard Worker 29*13e8728fSAndroid Build Coastguard Workerremove_local_fixups() { 30*13e8728fSAndroid Build Coastguard Worker sed '/__local_fixups__/ {s/^\s*__local_fixups__\s*//; :again;N; s/{[^{}]*};//; /^$/ !b again; d}' $1 31*13e8728fSAndroid Build Coastguard Worker} 32*13e8728fSAndroid Build Coastguard Worker 33*13e8728fSAndroid Build Coastguard Workerremove_overlay_stuff() { 34*13e8728fSAndroid Build Coastguard Worker # remove __symbols__, phandle, "linux,phandle" and __local_fixups__ 35*13e8728fSAndroid Build Coastguard Worker sed "/__symbols__/,/[}];/d" $1 | sed "/\(^[ \t]*phandle\)/d" | sed "/\(^[ \t]*linux,phandle\)/d" | sed '/^\s*$/d' | remove_local_fixups 36*13e8728fSAndroid Build Coastguard Worker} 37*13e8728fSAndroid Build Coastguard Worker 38*13e8728fSAndroid Build Coastguard Workerdts_diff () { 39*13e8728fSAndroid Build Coastguard Worker diff -u <(cat "$1" | remove_overlay_stuff) <(cat "$2" | remove_overlay_stuff) 40*13e8728fSAndroid Build Coastguard Worker} 41