Tests failing on xenial due to missing fakeroot command
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu Image |
Fix Released
|
Critical
|
Łukasz Zemczak | ||
ubuntu-image (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
Currently the xenial ubuntu-image package fails autopkgtests due to the missing fakeroot dependency. Xenial has an older mkfs.ext4 that does not support a parameter that all the other series are using. Because of that, fakeroot is not really used on this release as by default the first call of mkfs.ext4 which is assuming the existence of the '-d' option is supposed to fail and then u-i is moving on to using a fallback method of copying rootfs contents into the filesystem. To the first call of the mkfs.ext4 call we have recently added fakeroot (due to a security vulnerability discovered).
The failure of calling mkfs.ext4 with an unrecognized parameter and calling fakeroot mkfs.ext4 when fakeroot is not installed both generate different errors (the first one causes run() to exit with error and the second one rises a FileNotFoundError exception). We can easily support both cases, but then we are encountering code coverage issues - as in the best case we want to have the same code for all supported series. It's not easy to mock this case in unit tests as in theory we will never be able to reach this FileNotFoundError branch on non-xenial systems. It basically requires a lot of unnecessary work that's not bringing any real merits.
[Fix]
Just dropping this part of the delta and adding the fakeroot dependency fixes all problems with little effort.
[Test Case]
Make sure that the xenial autopkgtests pass.
[Regression Potential]
None - really. We're only adding the fakeroot dependency that is installed on all the other series for the same ubuntu-image version already. Installing this dependency does not change anything in the logic of ubuntu-image - the only time it is used is for the first mkfs.ext4 command which always fails (due to being too old to support the required options).
[Original description]
There is a delta in xenial. We need to support missing fakeroot.
Changed in ubuntu-image: | |
importance: | Undecided → Critical |
assignee: | nobody → Łukasz Zemczak (sil2100) |
status: | New → In Progress |
description: | updated |
Changed in ubuntu-image (Ubuntu Xenial): | |
status: | New → In Progress |
Changed in ubuntu-image (Ubuntu): | |
status: | New → Fix Released |
Changed in ubuntu-image: | |
status: | In Progress → Fix Released |
I would really opt for removing the xenial delta and introducing fakeroot as a dependency. Yes, it's not really used by ubuntu-image, but the way it is right now it *is* required - the code executes the command. This would make things much easier instead of just writing code and dealing with multiple stupid coverage edge-cases.