diff options
author | Alexandre Oliva <lxoliva@fsfla.org> | 2018-03-21 06:18:21 +0000 |
---|---|---|
committer | Alexandre Oliva <lxoliva@fsfla.org> | 2018-03-21 06:18:21 +0000 |
commit | 0810df840367127cdf22aa1efd3d88e61d2aed3a (patch) | |
tree | d828e0ed17e2203645d113b8f6163dc51081a284 /freed-ora/tags/f27/4.15.11-300.fc27.gnu/configs | |
parent | f72b7cebd5a0f9aa52a78aacff262693d951bc5d (diff) | |
download | linux-libre-raptor-0810df840367127cdf22aa1efd3d88e61d2aed3a.tar.gz linux-libre-raptor-0810df840367127cdf22aa1efd3d88e61d2aed3a.zip |
tag 4.15.11-300.fc27.gnu
Diffstat (limited to 'freed-ora/tags/f27/4.15.11-300.fc27.gnu/configs')
5 files changed, 381 insertions, 0 deletions
diff --git a/freed-ora/tags/f27/4.15.11-300.fc27.gnu/configs/base-generic/arm/CONFIG_SIMPLE_PM_BUS b/freed-ora/tags/f27/4.15.11-300.fc27.gnu/configs/base-generic/arm/CONFIG_SIMPLE_PM_BUS new file mode 100644 index 000000000..3cc21476a --- /dev/null +++ b/freed-ora/tags/f27/4.15.11-300.fc27.gnu/configs/base-generic/arm/CONFIG_SIMPLE_PM_BUS @@ -0,0 +1 @@ +CONFIG_SIMPLE_PM_BUS=y diff --git a/freed-ora/tags/f27/4.15.11-300.fc27.gnu/configs/build_configs.sh b/freed-ora/tags/f27/4.15.11-300.fc27.gnu/configs/build_configs.sh new file mode 100755 index 000000000..15ab6b380 --- /dev/null +++ b/freed-ora/tags/f27/4.15.11-300.fc27.gnu/configs/build_configs.sh @@ -0,0 +1,137 @@ +#!/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)" + +# to handle this script being a symlink +cd $SCRIPT_DIR + +set errexit +set nounset + +control_file="config_generation" + +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 + name=$OUTPUT_DIR/$PACKAGE_NAME-$archvar.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" == "xppc64" ]; then + echo "# powerpc" > $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" +} + +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 "^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" -a "$SUBARCH" != "$arch" ]; then + continue + fi + + merge_configs $arch $configs "$order" + fi +done < $control_file + +# 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 diff --git a/freed-ora/tags/f27/4.15.11-300.fc27.gnu/configs/config_generation b/freed-ora/tags/f27/4.15.11-300.fc27.gnu/configs/config_generation new file mode 100644 index 000000000..e8614c43f --- /dev/null +++ b/freed-ora/tags/f27/4.15.11-300.fc27.gnu/configs/config_generation @@ -0,0 +1,41 @@ +# config-variant=config:config:config +# kernel.config files are build on the fly based on this config, +# the first arg is arch and variant, the second is a hierarchy of +# config options, lowest priority to highest + +# tells the build_configs.sh which order to build the configs. +# this is useful when providing a separate overrides directory. +# do not use quotes and space separate the directories. +ORDER=fedora + +# x86_64 +x86_64=generic:generic-x86:generic-x86-x86_64 +x86_64-debug=generic:generic-x86:generic-x86-x86_64:debug:debug-x86:debug-x86-x86_64 + +# i686 +i686=generic:generic-x86:generic-x86-i686 +i686-debug=generic:generic-x86:generic-x86-i686:debug:debug-x86 +i686-PAE=generic:generic-x86:generic-x86-i686PAE +i686-PAEdebug=generic:generic-x86:generic-x86-i686PAE:debug:debug-x86 + +# ppc64 +ppc64=generic:generic-powerpc:generic-powerpc-powerpc64 +ppc64-debug=generic:generic-powerpc:generic-powerpc-powerpc64:debug + +# ppc64le +ppc64le=generic:generic-powerpc:generic-powerpc-powerpc64le +ppc64le-debug=generic:generic-powerpc:generic-powerpc-powerpc64le:debug + +# s390x +s390x=generic:generic-s390x +s390x-debug=generic:generic-s390x:debug + +# aarch64 +aarch64=generic:generic-arm:generic-arm-aarch64 +aarch64-debug=generic:generic-arm:generic-arm-aarch64:debug:debug-arm + +# arm +armv7hl=generic:generic-arm:generic-arm-armv7:generic-arm-armv7-armv7 +armv7hl-debug=generic:generic-arm:generic-arm-armv7:generic-arm-armv7-armv7:debug:debug-arm +armv7hl-lpae=generic:generic-arm:generic-arm-armv7:generic-arm-armv7-lpae +armv7hl-lpae-debug=generic:generic-arm:generic-arm-armv7:generic-arm-armv7-lpae:debug:debug-arm diff --git a/freed-ora/tags/f27/4.15.11-300.fc27.gnu/configs/merge.pl b/freed-ora/tags/f27/4.15.11-300.fc27.gnu/configs/merge.pl new file mode 100755 index 000000000..8c318156a --- /dev/null +++ b/freed-ora/tags/f27/4.15.11-300.fc27.gnu/configs/merge.pl @@ -0,0 +1,66 @@ +#! /usr/bin/perl + +my @args=@ARGV; +my %configvalues; +my @configoptions; +my $configcounter = 0; + +# optionally print out the architecture as the first line of our output +my $arch = $args[2]; +if (defined $arch) { + print "# $arch\n"; +} + +# first, read the override file + +open (FILE,"$args[0]") || die "Could not open $args[0]"; +while (<FILE>) { + my $str = $_; + my $configname; + + if (/\# ([\w]+) is not set/) { + $configname = $1; + } elsif (/([\w]+)=/) { + $configname = $1; + } + + if (defined($configname) && !exists($configvalues{$configname})) { + $configvalues{$configname} = $str; + $configoptions[$configcounter] = $configname; + $configcounter ++; + } +}; + +# now, read and output the entire configfile, except for the overridden +# parts... for those the new value is printed. + +open (FILE2,"$args[1]") || die "Could not open $args[1]"; +while (<FILE2>) { + my $configname; + + if (/\# ([\w]+) is not set/) { + $configname = $1; + } elsif (/([\w]+)=/) { + $configname = $1; + } + + if (defined($configname) && exists($configvalues{$configname})) { + print "$configvalues{$configname}"; + delete($configvalues{$configname}); + } else { + print "$_"; + } +} + +# now print the new values from the overridden configfile +my $counter = 0; + +while ($counter < $configcounter) { + my $configname = $configoptions[$counter]; + if (exists($configvalues{$configname})) { + print "$configvalues{$configname}"; + } + $counter++; +} + +1; diff --git a/freed-ora/tags/f27/4.15.11-300.fc27.gnu/configs/process_configs.sh b/freed-ora/tags/f27/4.15.11-300.fc27.gnu/configs/process_configs.sh new file mode 100755 index 000000000..4de45d65a --- /dev/null +++ b/freed-ora/tags/f27/4.15.11-300.fc27.gnu/configs/process_configs.sh @@ -0,0 +1,136 @@ +#!/bin/bash +# +# This script takes the merged config files and processes them through oldconfig +# and listnewconfig + + +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 -d $path/firmware && \ + 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]"="configs[a[1]]" after generation, had " a[1]"="a[2]" in Source tree"; + } + } + ' $1 $2 > .mismatches + + if test -s .mismatches + then + echo "Error: Mismatches found in configuration files" + cat .mismatches + exit 1 + fi +} + +function process_configs() +{ + # assume we are in $source_tree/configs, need to get to top level + pushd $(switch_to_toplevel) + + 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 + + echo -n "Processing $cfg ... " + + # an empty grep is good but leaves a return value, so use # 'true' to bypass + make ARCH=$arch KCONFIG_CONFIG=$cfg listnewconfig | grep -E 'CONFIG_' > .newoptions || true + if test -n "$NEWOPTIONS" && test -s .newoptions + then + echo "Found unset config items, please set them to an appropriate value" + cat .newoptions + rm .newoptions + exit 1 + fi + rm .newoptions + + make ARCH=$arch KCONFIG_CONFIG=$cfg oldnoconfig > /dev/null || exit 1 + echo "# $arch" > ${cfgtmp} + cat "${cfg}" >> ${cfgtmp} + if test -n "$CHECKOPTIONS" + then + checkoptions $cfgtmp $cfgorig + fi + mv ${cfgtmp} ${cfg} + rm ${cfgorig} + echo "done" + done + rm "$SCRIPT_DIR"/*.config.old + popd > /dev/null + + echo "Processed config files are in $SCRIPT_DIR" +} + +NEWOPTIONS="" +CHECKOPTIONS="" + +while [[ $# -gt 0 ]] +do + key="$1" + case $key in + -n) + NEWOPTIONS="x" + ;; + -c) + CHECKOPTIONS="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 |