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>
Yes, it would be good to get this into Noble. Should I submit the patch again to Noble, or is that unnecessary? Noah On Fri, Jun 28, 2024 at 10:29:03AM +0200, Juerg Haefliger wrote: > 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 03.07.24 17:50, Noah Wager wrote: > Yes, it would be good to get this into Noble. Should I submit the patch > again to Noble, or is that unnecessary? Without seperate submission (which also needs a bug report) there will not be any Noble change. That is under the SRU process now. -Stefan > > Noah > > On Fri, Jun 28, 2024 at 10:29:03AM +0200, Juerg Haefliger wrote: >> 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(+) >>> >> > > >