** Changed in: linux (Ubuntu Focal)
       Status: Triaged => In Progress

** Changed in: ubuntu-z-systems
       Status: Confirmed => In Progress

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1863116

Title:
  debian/rules editconfigs does not work on s390x to change s390x only
  configs

Status in Ubuntu on IBM z Systems:
  In Progress
Status in linux package in Ubuntu:
  Fix Released
Status in linux source package in Focal:
  In Progress
Status in linux source package in Groovy:
  Fix Released

Bug description:
  SRU Justification:
  ==================

  [Impact]

  * With focal (and even eoan) it is no longer possible to run the
  updateconfigs Debian build rule (needed in case of kernel option
  updates) on all supported arhitectures.

  * Changes upstream led to the fact cross platform functions are now
  triggered in case the config is changed, but amd64 is the only
  platform that has all needed crossbuild components to satisfy this.

  * Hence one can still run updateconfigs on amd64 and proceed with the
  compile on the target platform.

  * With bionic and earlier this was possible on all supported target
  platforms; now it only works on amd64.

  * But it's not always the case that people who work on Ubuntu for non-
  amd64 have an Ubuntu amd64 on top, nor would such a requirement be
  acceptable.

  [Fix]

  * Patch:
  
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1863116/+attachment/5397080/+files/0001
  -UBUNTU-Packaging-kernelconfig-only-update-edit-confi.patch

  [Test Case]

  * Setup an Ubuntu 20.04 on a platform other than amd64 (like in my
  case s390x) and install all packages needed for a kernel build.

  * 'git clone' or 'pull-lp-source' the kernel sources to that system
  (e.g. focal).

  * Change a kernel config option and run clean (fakeroot debian/rules
  clean), updateconfigs (fakeroot debian/rules updateconfigs) followed
  by a build (like: fakeroot debian/rules binary-headers binary-generic
  binary-perarch).

  * Without the patch the build will fail with error messages similar to these:
     scripts/Kconfig.include:35: compiler 'x86_64-linux-gnu-gcc' not found
     make[3]: *** [../scripts/kconfig/Makefile:73: syncconfig] Error 1
     make[2]: *** [/home/ubuntu/linux-5.4-5.4.0/Makefile:594: syncconfig] Error 
2
     make[2]: Leaving directory '/home/ubuntu/linux-5.4-5.4.0/build'
     make[1]: *** [Makefile:179: sub-make] Error 2
     make[1]: Leaving directory '/home/ubuntu/linux-5.4-5.4.0'
     make: *** [debian/rules.d/1-maintainer.mk:44: editconfigs] Error 2

  * Doing the same on a non-amd64 with the patch in place (or on amd64
  even w/o the patch), the build will succeed.

  [Regression Potential]

  * The regression risk is moderate since it's build time problem (not
  at kernel run time).

  * But anyway in case this patch is broken, kernel builds may be
  screwed up entirely,

  * but that is very unlikely since the modifications are limited to
  /debian/scripts/misc/kernelconfig.

  * Hence issues in kernelconfig could occur and even break
  updateconfigs on amd64.

  * But the patch was successully tested on different architectures with
  focal.

  [Other]

  * Patch need to be applied to focal and higher (hence incl. groovy).
  __________

  On s390x

  pull-lp-source linux-5.4
  cd linux-*
  fakeroot ./debian/rules clean
  ./debian/rules editconfig
  dh_testdir;
  /bin/bash -e debian/scripts/misc/kernelconfig editconfigs
  Do you want to edit config: amd64/config.flavour.generic? [Y/n] n
  ...
  scripts/Kconfig.include:35: compiler 'x86_64-linux-gnu-gcc' not found
  make[3]: *** [../scripts/kconfig/Makefile:73: syncconfig] Error 1
  make[2]: *** [/home/ubuntu/linux-5.4-5.4.0/Makefile:594: syncconfig] Error 2
  make[2]: Leaving directory '/home/ubuntu/linux-5.4-5.4.0/build'
  make[1]: *** [Makefile:179: sub-make] Error 2
  make[1]: Leaving directory '/home/ubuntu/linux-5.4-5.4.0'
  make: *** [debian/rules.d/1-maintainer.mk:44: editconfigs] Error 2

  And indeed i do not have x86_64-linux-gnu-gcc crosscompiler available
  to build on s390x for amd64, and also I don't want to touch amd64
  configs. Only s390x ones.

  As a user, I should be able to rebuild ports architecture kernel with
  tweaked config for testing, self-hosted without cross-compilers.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1863116/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to