Double check configuration files in order to avoid discrepancies like this: https://bugzilla.redhat.com/show_bug.cgi?id=1347454 Signed-off-by: Miguel Flores Silverio <floresmigu3l@xxxxxxxxx> * PATCHv1 - Check config files at compilation time * PATCHv2 - Check config files before and after oldconfig is aplied - Save log of mismatches in logs directory in tree --- kernel.spec | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/kernel.spec b/kernel.spec index d6856d2..d12b74b 100644 --- a/kernel.spec +++ b/kernel.spec @@ -1161,7 +1161,6 @@ if [ ! -d .git ]; then git commit -a -q -m "baseline" fi - # released_kernel with possible stable updates %if 0%{?stable_base} # This is special because the kernel spec is hell and nothing is consistent @@ -1181,6 +1180,19 @@ make -f %{SOURCE19} config-release %endif %endif +# Used to check for discrepancies in configuration files +CheckConfigs() { + if [ ! -d ../../logs ];then + mkdir ../../logs + fi + GEN_CONFIG=$1 + FINAL_CONFIG=$2 + Arch=$3 + awk 'NR==FNR{gen_cofigs[$1]++;next;} + !($0 in gen_configs)' $FINAL_CONFIG $GEN_CONFIG > ../../logs/config-check-$Arch.log + rm $GEN_CONFIG +} + # Dynamically generate kernel .config files from config-* files make -f %{SOURCE20} VERSION=%{version} configs @@ -1227,6 +1239,7 @@ rm -f kernel-%{version}-*debug.config # now run oldconfig over all the config files for i in *.config do + cat $i > temp-$i mv $i .config Arch=`head -1 .config | cut -b 3-` make ARCH=$Arch listnewconfig | grep -E '^CONFIG_' >.newoptions || true @@ -1240,6 +1253,7 @@ do make ARCH=$Arch oldnoconfig echo "# $Arch" > configs/$i cat .config >> configs/$i + CheckConfigs temp-$i configs/$i $Arch done # end of kernel config %endif -- 2.7.4 _______________________________________________ kernel mailing list kernel@xxxxxxxxxxxxxxxxxxxxxxx https://lists.fedoraproject.org/admin/lists/kernel@xxxxxxxxxxxxxxxxxxxxxxx