xref: /linux/tools/testing/selftests/rcutorture/bin/config_override.sh (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
1d62c9833SPaul E. McKenney#!/bin/bash
2fef141f6SPaul E. McKenney# SPDX-License-Identifier: GPL-2.0+
3d62c9833SPaul E. McKenney#
4d62c9833SPaul E. McKenney# config_override.sh base override
5d62c9833SPaul E. McKenney#
6d62c9833SPaul E. McKenney# Combines base and override, removing any Kconfig options from base
7d62c9833SPaul E. McKenney# that conflict with any in override, concatenating what remains and
8d62c9833SPaul E. McKenney# sending the result to standard output.
9d62c9833SPaul E. McKenney#
10d62c9833SPaul E. McKenney# Copyright (C) IBM Corporation, 2017
11d62c9833SPaul E. McKenney#
12fef141f6SPaul E. McKenney# Authors: Paul E. McKenney <paulmck@linux.ibm.com>
13d62c9833SPaul E. McKenney
14d62c9833SPaul E. McKenneybase=$1
15d62c9833SPaul E. McKenneyif test -r $base
16d62c9833SPaul E. McKenneythen
17d62c9833SPaul E. McKenney	:
18d62c9833SPaul E. McKenneyelse
19d62c9833SPaul E. McKenney	echo Base file $base unreadable!!!
20d62c9833SPaul E. McKenney	exit 1
21d62c9833SPaul E. McKenneyfi
22d62c9833SPaul E. McKenney
23d62c9833SPaul E. McKenneyoverride=$2
24d62c9833SPaul E. McKenneyif test -r $override
25d62c9833SPaul E. McKenneythen
26d62c9833SPaul E. McKenney	:
27d62c9833SPaul E. McKenneyelse
28d62c9833SPaul E. McKenney	echo Override file $override unreadable!!!
29d62c9833SPaul E. McKenney	exit 1
30d62c9833SPaul E. McKenneyfi
31d62c9833SPaul E. McKenney
32*c211ae9cSPaul E. McKenneyT="`mktemp -d ${TMPDIR-/tmp}/config_override.sh.XXXXXX`"
33d62c9833SPaul E. McKenneytrap 'rm -rf $T' 0
34d62c9833SPaul E. McKenney
35d62c9833SPaul E. McKenneysed < $override -e 's/^/grep -v "/' -e 's/=.*$/="/' |
36d62c9833SPaul E. McKenney	awk '
37d62c9833SPaul E. McKenney	{
38d62c9833SPaul E. McKenney		if (last)
39d62c9833SPaul E. McKenney			print last " |";
40d62c9833SPaul E. McKenney		last = $0;
41d62c9833SPaul E. McKenney	}
42d62c9833SPaul E. McKenney	END {
43d62c9833SPaul E. McKenney		if (last)
44d62c9833SPaul E. McKenney			print last;
45d62c9833SPaul E. McKenney	}' > $T/script
46d62c9833SPaul E. McKenneysh $T/script < $base
47d62c9833SPaul E. McKenneycat $override
48