Comment 0 for bug 2072592

Revision history for this message
Noah Wager (nwager) wrote :

[SRU Justification]

[Impact]

Commit: "UBUNTU: [Packaging] introduce do_lib_rust and enable it only on
generic amd64" introduces the "do_lib_rust" variable in rules.d/ that
avoids generating the extra rust package when unset/false. However, this
is not checked when inserting a symlink to the linux-lib-rust package
directory in the headers, resulting in a dangling symlink when rust is
turned off. This can cause issues when e.g. building dkms modules
against the headers, where the build will fail due to not finding the
directory.

[How to reproduce it]

1. Build linux-headers-* package for kernel with rust disabled (e.g.
realtime)
2. Install (or extract) the package
3. View corresponding /usr/src/linux-headers-*/ directory
4. Observe /usr/src/linux-headers-*/rust -> ../linux-lib-rust-* but
linux-lib-rust is never built and installed

[Fix]

Check the existing do_lib_rust variable is true before trying to symlink
the linux-lib-rust files.

[Test plan]

1. Apply the fix and rebuild the kernel headers packages
2. Install or inspect the headers
3. Ensure /usr/src/linux-headers-*/rust points to an existing directory

[Regression potential]

Very low. This is a simple fix, and it only impacts rust packaging for
kernels with do_lib_rust unset/false so the visibility is low.