debian/rules editconfigs does not work on s390x to change s390x only configs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu on IBM z Systems |
Fix Released
|
Undecided
|
Unassigned | ||
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Medium
|
Unassigned | ||
Groovy |
Fix Released
|
Undecided
|
Unassigned |
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]
[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/
make[3]: *** [../scripts/
make[2]: *** [/home/
make[2]: Leaving directory '/home/
make[1]: *** [Makefile:179: sub-make] Error 2
make[1]: Leaving directory '/home/
make: *** [debian/
* 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/
* 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/
Do you want to edit config: amd64/config.
...
scripts/
make[3]: *** [../scripts/
make[2]: *** [/home/
make[2]: Leaving directory '/home/
make[1]: *** [Makefile:179: sub-make] Error 2
make[1]: Leaving directory '/home/
make: *** [debian/
And indeed i do not have x86_64-
As a user, I should be able to rebuild ports architecture kernel with tweaked config for testing, self-hosted without cross-compilers.
CVE References
tags: |
added: focal rls-ff-incoming removed: ff |
description: | updated |
tags: | added: champagne |
summary: |
- crossbuild-essential-amd64 not installable on focal/s390x + debian/rules editconfigs does not work on s390x to change s390x only + configs |
no longer affects: | build-essential (Ubuntu) |
tags: | added: s390x |
Changed in linux (Ubuntu): | |
status: | Incomplete → Confirmed |
Changed in ubuntu-z-systems: | |
status: | Incomplete → Confirmed |
Changed in linux-5.4 (Ubuntu): | |
status: | New → Invalid |
no longer affects: | linux-5.4 (Ubuntu) |
tags: | added: patch |
Changed in linux (Ubuntu): | |
status: | Confirmed → Triaged |
Changed in linux (Ubuntu Groovy): | |
status: | Triaged → Fix Committed |
Changed in linux (Ubuntu Focal): | |
importance: | Undecided → Medium |
status: | New → Triaged |
description: | updated |
Changed in linux (Ubuntu Focal): | |
status: | Triaged → In Progress |
Changed in ubuntu-z-systems: | |
status: | Confirmed → In Progress |
Changed in ubuntu-z-systems: | |
status: | Fix Committed → Fix Released |
currently we don't build any cross compilers on s390x. Is this a scenario which is needed?
We do that on ppc64el, given that you actually can buy even some workstations.
and if needed, which targets should be supported?