<div dir="ltr"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>A SRU Justification is now added to the LP bug.</div></div></div></div></div></div></div></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 23, 2020 at 4:08 PM Frank Heimes <<a href="mailto:frank.heimes@canonical.com">frank.heimes@canonical.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I'm going to add the SRU Justification (since I initially raised the bug ...)<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 23, 2020 at 3:36 PM Stefan Bader <<a href="mailto:stefan.bader@canonical.com" target="_blank">stefan.bader@canonical.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 12.08.20 23:28, Andy Whitcroft wrote:<br>
> We can only rebuild, edit, or update a configuration for an architecture<br>
> nativly on that architecture or using a compatible cross-compiler for<br>
> that architecture.  Skip architectures for which we do not have an<br>
> apropriate compiler.  When we do not perform the requested operation on<br>
> all architectures report those which have been skipped clearly at the<br>
> bottom of the output.<br>
> <br>
>     WARNING: configuration operation applied only to a subset of<br>
>         architectures (skipped i386 armhf arm64 ppc64el s390x)<br>
> <br>
> [<a href="mailto:seth.forshee@canonical.com" target="_blank">seth.forshee@canonical.com</a>: remove i386 special case.]<br>
> BugLink: <a href="https://bugs.launchpad.net/bugs/1863116" rel="noreferrer" target="_blank">https://bugs.launchpad.net/bugs/1863116</a><br>
> Signed-off-by: Andy Whitcroft <<a href="mailto:apw@canonical.com" target="_blank">apw@canonical.com</a>><br>
Acked-by: Stefan Bader <<a href="mailto:stefan.bader@canonical.com" target="_blank">stefan.bader@canonical.com</a>><br>
> ---<br>
<br>
The bug report should contain a filled in justification template. Mind adding<br>
that? I have added nominations for focal and groovy which were missing, too.<br>
<br>
-Stefan<br>
<br>
>  debian/scripts/misc/kernelconfig | 79 +++++++++++++++++++-------------<br>
>  1 file changed, 47 insertions(+), 32 deletions(-)<br>
> <br>
> diff --git a/debian/scripts/misc/kernelconfig b/debian/scripts/misc/kernelconfig<br>
> index fc50c48df3b7..dd45d2f2b085 100755<br>
> --- a/debian/scripts/misc/kernelconfig<br>
> +++ b/debian/scripts/misc/kernelconfig<br>
> @@ -39,6 +39,8 @@ if [ "$mode" = "genconfigs" ]; then<br>
>       test -d CONFIGS || mkdir CONFIGS<br>
>  fi<br>
>  <br>
> +warning_partial=<br>
> +<br>
>  for arch in $archs; do<br>
>       rm -rf build<br>
>       mkdir build<br>
> @@ -64,9 +66,15 @@ for arch in $archs; do<br>
>       # Environment variables for 'make *config'. We omit CROSS_COMPILE<br>
>       # for i386 since it is no longer supported after 19.04, however<br>
>       # we maintain the configs for hwe.<br>
> +     modify_config=true<br>
>       env="ARCH=$kernarch"<br>
> -     if [ "$arch" != "i386" ]; then<br>
> +     compiler_path=$(which "${cross_compile}gcc" || true)<br>
> +     if [ "$compiler_path" != '' ]; then<br>
>               env="$env CROSS_COMPILE=$cross_compile"<br>
> +     else<br>
> +             echo "WARNING: ${cross_compile}gcc not installed"<br>
> +             modify_config=<br>
> +             warning_partial="$warning_partial $arch"<br>
>       fi<br>
>  <br>
>       archconfdir=$confdir/$arch<br>
> @@ -100,38 +108,39 @@ for arch in $archs; do<br>
>                       fullconf="$tmpdir/$arch-$config-full"<br>
>                       cat "$fullconf" > build/.config<br>
>                       # Call oldconfig or menuconfig<br>
> -                     case "$mode" in<br>
> -                         editconfigs)<br>
> -                             # Interactively edit config parameters<br>
> -                             while : ; do<br>
> -                                     echo -n "Do you want to edit config: $arch/$config? [Y/n] "<br>
> -                                     read choice<br>
> -                                     <br>
> -                                     case "$choice" in<br>
> -                                     y* | Y* | "" )<br>
> -                                             make O=`pwd`/build $env menuconfig<br>
> -                                             break ;;<br>
> -                                     n* | N* )<br>
> -                                             # 'syncconfig' prevents<br>
> -                                             # errors for '-' options set<br>
> -                                             # in common config fragments<br>
> -                                             make O=`pwd`/build $env syncconfig<br>
> -                                             break ;;<br>
> -                                     *)<br>
> -                                             echo "Entry not valid"<br>
> -                                     esac<br>
> -                             done<br>
> -                             ;;<br>
> -                         *)<br>
> -                             echo "* Run $mode (yes=$yes) on $arch/$config ..."<br>
> -                             if [ "$yes" -eq 1 ]; then<br>
> -                                     yes "" | make O=`pwd`/build $env "$mode"<br>
> -                             else<br>
> -                                     make O=`pwd`/build $env "$mode"<br>
> -                             fi ;;<br>
> -                     esac<br>
> +                     if [ "$modify_config" ]; then<br>
> +                             case "$mode" in<br>
> +                                 editconfigs)<br>
> +                                     # Interactively edit config parameters<br>
> +                                     while : ; do<br>
> +                                             echo -n "Do you want to edit config: $arch/$config? [Y/n] "<br>
> +                                             read choice<br>
> +                                             case "$choice" in<br>
> +                                             y* | Y* | "" )<br>
> +                                                     make O=`pwd`/build $env menuconfig<br>
> +                                                     break ;;<br>
> +                                             n* | N* )<br>
> +                                                     # 'syncconfig' prevents<br>
> +                                                     # errors for '-' options set<br>
> +                                                     # in common config fragments<br>
> +                                                     make O=`pwd`/build $env syncconfig<br>
> +                                                     break ;;<br>
> +                                             *)<br>
> +                                                     echo "Entry not valid"<br>
> +                                             esac<br>
> +                                     done<br>
> +                                     ;;<br>
> +                                 *)<br>
> +                                     echo "* Run $mode (yes=$yes) on $arch/$config ..."<br>
> +                                     if [ "$yes" -eq 1 ]; then<br>
> +                                             yes "" | make O=`pwd`/build $env "$mode"<br>
> +                                     else<br>
> +                                             make O=`pwd`/build $env "$mode"<br>
> +                                     fi ;;<br>
> +                             esac<br>
> +                     fi<br>
>                       cat build/.config > $archconfdir/$config<br>
> -                     cat build/.config > "$tmpdir/CONFIGS/$arch-$config"<br>
> +                     [ "$modify_config" ] && cat build/.config >"$tmpdir/CONFIGS/$arch-$config"<br>
>                       if [ "$keep" = "1" ]; then<br>
>                               cat build/.config > CONFIGS/$arch-$config<br>
>                       fi<br>
> @@ -176,6 +185,7 @@ for arch in $archs; do<br>
>               flavour="${config##*.}"<br>
>               if [ -f $archconfdir/$config ]; then<br>
>                       fullconf="$tmpdir/CONFIGS/$arch-$config"<br>
> +                     [ ! -f "$fullconf" ] && continue<br>
>                       "$bindir/../config-check" "$fullconf" "$arch" "$flavour" "$confdir" "0" "0" || let "fail=$fail+1"<br>
>               fi<br>
>       done<br>
> @@ -189,3 +199,8 @@ fi<br>
>  <br>
>  rm -rf build<br>
>  <br>
> +if [ "$warning_partial" ]; then<br>
> +     echo ""<br>
> +     echo "WARNING: configuration operation applied only to a subset of architectures (skipped$warning_partial)" 1>&2<br>
> +     echo ""<br>
> +fi<br>
> <br>
<br>
<br>
-- <br>
kernel-team mailing list<br>
<a href="mailto:kernel-team@lists.ubuntu.com" target="_blank">kernel-team@lists.ubuntu.com</a><br>
<a href="https://lists.ubuntu.com/mailman/listinfo/kernel-team" rel="noreferrer" target="_blank">https://lists.ubuntu.com/mailman/listinfo/kernel-team</a><br>
</blockquote></div>
</blockquote></div>