Message ID | 20240627165346.78336-1-noah.wager@canonical.com |
---|---|
Headers | show |
Series | UBUNTU: [Packaging] Check do_lib_rust before linking Rust lib files | expand |
We also want this in Noble, no? ...Juerg > [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. > > Noah Wager (1): > UBUNTU: [Packaging] Check do_lib_rust before linking Rust lib files > > debian/rules.d/2-binary-arch.mk | 2 ++ > 1 file changed, 2 insertions(+) >
On Thu, Jun 27, 2024 at 09:52:37AM -0700, Noah Wager wrote: > [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. Acked-by: Paolo Pisati <paolo.pisati@canonical.com>