diff options
Diffstat (limited to 'configs/build_configs.sh')
-rwxr-xr-x | configs/build_configs.sh | 159 |
1 files changed, 0 insertions, 159 deletions
diff --git a/configs/build_configs.sh b/configs/build_configs.sh deleted file mode 100755 index 4ccb0dc2e..000000000 --- a/configs/build_configs.sh +++ /dev/null @@ -1,159 +0,0 @@ -#!/bin/bash -# -# This script merges together the hierarchy of CONFIG_* files under generic -# and debug to form the necessary $PACKAGE_NAME<version>-<arch>-<variant>.config -# files for building RHEL kernels, based on the contents of a control file - -PACKAGE_NAME="${1:-kernel}" # defines the package name used -KVERREL="${2:-}" -SUBARCH="${3:-}" # defines a specific arch -SCRIPT="$(readlink -f $0)" -OUTPUT_DIR="$PWD" -SCRIPT_DIR="$(dirname $SCRIPT)" - -LANG=en_US.UTF-8 - -# to handle this script being a symlink -cd $SCRIPT_DIR - -set errexit -set nounset - -cleanup() -{ - rm -f config-* -} - -die() -{ - echo "$1" - cleanup - exit 1 -} - -function combine_config_layer() -{ - dir=$1 - file="config-$(echo $dir | sed -e 's|/|-|g')" - - if [ $(ls $dir/ | grep -c "^CONFIG_") -eq 0 ]; then - touch $file - return - fi - - cat $dir/CONFIG_* > $file -} - -function merge_configs() -{ - archvar=$1 - arch=$(echo "$archvar" | cut -f1 -d"-") - configs=$2 - order=$3 - flavor=$4 - - name=$OUTPUT_DIR/$PACKAGE_NAME-$archvar-$flavor.config - echo -n "Building $name ... " - touch config-merging config-merged - - # apply based on order - skip_if_missing="" - for o in $order - do - for config in $(echo $configs | sed -e 's/:/ /g') - do - cfile="config-$o-$config" - - test -n "$skip_if_missing" && test ! -e $cfile && continue - - perl merge.pl $cfile config-merging > config-merged - if [ ! $? -eq 0 ]; then - die "Failed to merge $cfile" - fi - mv config-merged config-merging - done - - # first configs in $order is baseline, all files should be - # there. second pass is overrides and can be missing. - skip_if_missing="1" - done - if [ "x$arch" == "xaarch64" ]; then - echo "# arm64" > $name - elif [ "x$arch" == "xppc64le" ]; then - echo "# powerpc" > $name - elif [ "x$arch" == "xs390x" ]; then - echo "# s390" > $name - elif [ "x$arch" == "xarmv7hl" ]; then - echo "# arm" > $name - elif [ "x$arch" == "xi686" ]; then - echo "# i386" > $name - else - echo "# $arch" > $name - fi - sort config-merging >> $name - rm -f config-merged config-merging - echo "done" -} - -function build_flavor() -{ - flavor=$1 - control_file="priority".$flavor - while read line - do - if [ $(echo "$line" | grep -c "^#") -ne 0 ]; then - continue - elif [ $(echo "$line" | grep -c "^$") -ne 0 ]; then - continue - elif [ $(echo "$line" | grep -c "^EMPTY") -ne 0 ]; then - empty=$(echo "$line" | cut -f2 -d"=") - for a in $empty - do - echo "# EMPTY" > $OUTPUT_DIR/$PACKAGE_NAME-$a-$flavor.config - - done - elif [ $(echo "$line" | grep -c "^ORDER") -ne 0 ]; then - order=$(echo "$line" | cut -f2 -d"=") - for o in $order - do - glist=$(find $o -type d) - for d in $glist - do - combine_config_layer $d - done - done - else - arch=$(echo "$line" | cut -f1 -d"=") - configs=$(echo "$line" | cut -f2 -d"=") - - if [ -n "$SUBARCH" ]; then - case $arch in - $SUBARCH*) - ;; - *) - continue - esac - fi - - merge_configs $arch $configs "$order" $flavor - fi - done < $control_file -} - -while read line -do - build_flavor $line -done < flavors - -# A passed in kernel version implies copy to final location -# otherwise defer to another script -if test -n "$KVERREL" -then - for i in kernel-*.config - do - NEW="$(echo $i | sed "s/$PACKAGE_NAME-$SUBARCH/$PACKAGE_NAME-$KVERREL-$SUBARCH/")" - mv $i $NEW - done -fi - -cleanup |