ACK/Cmnt: [SRU focal:linux, groovy:linux 1/1] UBUNTU: [Packaging] kernelconfig -- only update/edit configurations on architectures we have compiler support

Frank Heimes frank.heimes at canonical.com
Wed Sep 23 14:08:11 UTC 2020


I'm going to add the SRU Justification (since I initially raised the bug
...)

On Wed, Sep 23, 2020 at 3:36 PM Stefan Bader <stefan.bader at canonical.com>
wrote:

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


More information about the kernel-team mailing list