summaryrefslogtreecommitdiffstats
path: root/configs/process_configs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'configs/process_configs.sh')
-rwxr-xr-xconfigs/process_configs.sh198
1 files changed, 0 insertions, 198 deletions
diff --git a/configs/process_configs.sh b/configs/process_configs.sh
deleted file mode 100755
index b464d95ce..000000000
--- a/configs/process_configs.sh
+++ /dev/null
@@ -1,198 +0,0 @@
-#!/bin/bash
-#
-# This script takes the merged config files and processes them through oldconfig
-# and listnewconfig
-#
-
-usage()
-{
- # alphabetical order please
- echo "process_configs.sh [ options ] package_name kernel_version"
- echo " -a: report all errors, equivalent to [-c -n -w -i]"
- echo " -c: error on mismatched config options"
- echo " -i: continue on error"
- echo " -n: error on unset config options"
- echo " -t: test run, do not overwrite original config"
- echo " -w: error on misconfigured config options"
- exit 1
-}
-
-die()
-{
- echo "$1"
- exit 1
-}
-
-# stupid function to find top of tree to do kernel make configs
-switch_to_toplevel()
-{
- path="$(pwd)"
- while test -n "$path"
- do
- test -e $path/MAINTAINERS && \
- test -d $path/drivers && \
- break
-
- path="$(dirname $path)"
- done
-
- test -n "$path" || die "Can't find toplevel"
- echo "$path"
-}
-
-checkoptions()
-{
- /usr/bin/awk '
-
- /is not set/ {
- split ($0, a, "#");
- split(a[2], b);
- if (NR==FNR) {
- configs[b[1]]="is not set";
- } else {
- if (configs[b[1]] != "" && configs[b[1]] != "is not set")
- print "Found # "b[1] " is not set, after generation, had " b[1] " " configs[b[1]] " in Source tree";
- }
- }
-
- /=/ {
- split ($0, a, "=");
- if (NR==FNR) {
- configs[a[1]]=a[2];
- } else {
- if (configs[a[1]] != "" && configs[a[1]] != a[2])
- print "Found "a[1]"="a[2]" after generation, had " a[1]"="configs[a[1]]" in Source tree";
- }
- }
- ' $1 $2 > .mismatches
-
- if test -s .mismatches
- then
- echo "Error: Mismatches found in configuration files"
- cat .mismatches
- RETURNCODE=1
- [ "$CONTINUEONERROR" ] || exit 1
- fi
-}
-
-function process_configs()
-{
- # assume we are in $source_tree/configs, need to get to top level
- pushd $(switch_to_toplevel) &>/dev/null
-
- for cfg in $SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}${SUBARCH}*.config
- do
- arch=$(head -1 $cfg | cut -b 3-)
- cfgtmp="${cfg}.tmp"
- cfgorig="${cfg}.orig"
- cat $cfg > $cfgorig
-
- if [ "$arch" = "EMPTY" ]
- then
- # This arch is intentionally left blank
- continue
- fi
- echo -n "Processing $cfg ... "
-
- make ARCH=$arch KCONFIG_CONFIG=$cfgorig listnewconfig >& .listnewconfig
- grep -E 'CONFIG_' .listnewconfig > .newoptions
- if test -n "$NEWOPTIONS" && test -s .newoptions
- then
- echo "Found unset config items, please set them to an appropriate value"
- cat .newoptions
- rm .newoptions
- RETURNCODE=1
- [ "$CONTINUEONERROR" ] || exit 1
- fi
- rm .newoptions
-
- grep -E 'config.*warning' .listnewconfig > .warnings
- if test -n "$CHECKWARNINGS" && test -s .warnings
- then
- echo "Found misconfigured config items, please set them to an appropriate value"
- cat .warnings
- rm .warnings
- RETURNCODE=1
- [ "$CONTINUEONERROR" ] || exit 1
- fi
- rm .warnings
-
- rm .listnewconfig
-
- make ARCH=$arch KCONFIG_CONFIG=$cfgorig olddefconfig > /dev/null || exit 1
- echo "# $arch" > ${cfgtmp}
- cat "${cfgorig}" >> ${cfgtmp}
- if test -n "$CHECKOPTIONS"
- then
- checkoptions $cfg $cfgtmp
- fi
- # if test run, don't overwrite original
- if test -n "$TESTRUN"
- then
- rm ${cfgtmp}
- else
- mv ${cfgtmp} ${cfg}
- fi
- rm ${cfgorig}
- echo "done"
- done
- rm "$SCRIPT_DIR"/*.config*.old
- popd > /dev/null
-
- echo "Processed config files are in $SCRIPT_DIR"
-}
-
-CHECKOPTIONS=""
-CONTINUEONERROR=""
-NEWOPTIONS=""
-TESTRUN=""
-CHECKWARNINGS=""
-
-RETURNCODE=0
-
-while [[ $# -gt 0 ]]
-do
- key="$1"
- case $key in
- -a)
- CHECKOPTIONS="x"
- CONTINUEONERROR="x"
- NEWOPTIONS="x"
- CHECKWARNINGS="x"
- ;;
- -c)
- CHECKOPTIONS="x"
- ;;
- -h)
- usage
- ;;
- -i)
- CONTINUEONERROR="x"
- ;;
- -n)
- NEWOPTIONS="x"
- ;;
- -t)
- TESTRUN="x"
- ;;
- -w)
- CHECKWARNINGS="x"
- ;;
- *)
- break;;
- esac
- shift
-done
-
-PACKAGE_NAME="${1:-kernel}" # defines the package name used
-KVERREL="$(test -n "$2" && echo "-$2" || echo "")"
-SUBARCH="$(test -n "$3" && echo "-$3" || echo "")"
-SCRIPT="$(readlink -f $0)"
-OUTPUT_DIR="$PWD"
-SCRIPT_DIR="$(dirname $SCRIPT)"
-
-# to handle this script being a symlink
-cd $SCRIPT_DIR
-
-process_configs
-exit $RETURNCODE