2012-02-04 14:34:52

by maximilian attems

[permalink] [raw]
Subject: Re: [PATCH] kbuild: Fix link to headers in 'make deb-pkg'

adding bwh + debian-kernel

On Mon, 23 Jan 2012, Michal Marek wrote:

> (adding max to CC)
>
> On 23.1.2012 12:40, Joerg Roedel wrote:
> > The Link to the kernel header files in the debian packages
> > point to the original build directory. This is a bad choice
> > if the packages were installed on a different machine. Fix
> > this in by manually re-creating the link in the builddeb
> > script.
> > With this patch applied the lib/modules/$version dir always
> > exists, so move the "$ARCH = um" check out of the modules
> > check too.
> >
> > Signed-off-by: Joerg Roedel <[email protected]>
> > ---
> > scripts/package/builddeb | 13 +++++++++----
> > 1 files changed, 9 insertions(+), 4 deletions(-)
> >
> > diff --git a/scripts/package/builddeb b/scripts/package/builddeb
> > index f6cbc3d..46f63dc 100644
> > --- a/scripts/package/builddeb
> > +++ b/scripts/package/builddeb
> > @@ -91,6 +91,7 @@ fi
> > rm -rf "$tmpdir" "$fwdir" "$kernel_headers_dir" "$libc_headers_dir"
> > mkdir -m 755 -p "$tmpdir/DEBIAN"
> > mkdir -p "$tmpdir/lib" "$tmpdir/boot" "$tmpdir/usr/share/doc/$packagename"
> > +mkdir -p "$tmpdir/lib/modules/$version"
> > mkdir -m 755 -p "$fwdir/DEBIAN"
> > mkdir -p "$fwdir/lib" "$fwdir/usr/share/doc/$fwpackagename"
> > mkdir -m 755 -p "$libc_headers_dir/DEBIAN"
> > @@ -121,10 +122,14 @@ fi
> >
> > if grep -q '^CONFIG_MODULES=y' .config ; then
> > INSTALL_MOD_PATH="$tmpdir" make KBUILD_SRC= modules_install
> > - if [ "$ARCH" = "um" ] ; then
> > - mv "$tmpdir/lib/modules/$version"/* "$tmpdir/usr/lib/uml/modules/$version/"
> > - rmdir "$tmpdir/lib/modules/$version"
> > - fi
> > +fi
> > +
> > +# Make sure link to the headers is correct
> > +ln -snf "/usr/src/$kernel_headers_packagename" "$tmpdir/lib/modules/$version/build"
> > +
> > +if [ "$ARCH" = "um" ] ; then
> > + mv "$tmpdir/lib/modules/$version"/* "$tmpdir/usr/lib/uml/modules/$version/"
> > + rmdir "$tmpdir/lib/modules/$version"
> > fi
> >
> > make headers_check

I'm a bit sceptical that it is correct, but passing on to Ben Hutchings,
as I never used external modules. He did quite some cleanup in this
confusing area, lately for the upcoming debian release.

--
maks


2012-02-07 16:37:25

by Ben Hutchings

[permalink] [raw]
Subject: Re: [PATCH] kbuild: Fix link to headers in 'make deb-pkg'

On Sat, Feb 04, 2012 at 03:34:49PM +0100, maximilian attems wrote:
> adding bwh + debian-kernel
>
> On Mon, 23 Jan 2012, Michal Marek wrote:
>
> > (adding max to CC)
> >
> > On 23.1.2012 12:40, Joerg Roedel wrote:
> > > The Link to the kernel header files in the debian packages
> > > point to the original build directory. This is a bad choice
> > > if the packages were installed on a different machine. Fix
> > > this in by manually re-creating the link in the builddeb
> > > script.

Right, but:

[...]
> > > @@ -121,10 +122,14 @@ fi
> > >
> > > if grep -q '^CONFIG_MODULES=y' .config ; then
> > > INSTALL_MOD_PATH="$tmpdir" make KBUILD_SRC= modules_install
> > > - if [ "$ARCH" = "um" ] ; then
> > > - mv "$tmpdir/lib/modules/$version"/* "$tmpdir/usr/lib/uml/modules/$version/"
> > > - rmdir "$tmpdir/lib/modules/$version"
> > > - fi
> > > +fi
> > > +
> > > +# Make sure link to the headers is correct
> > > +ln -snf "/usr/src/$kernel_headers_packagename" "$tmpdir/lib/modules/$version/build"
[...]

This should be removed from the kernel image package and created
in the kernel headers package instead, otherwise it's potentially a
broken link.

Ben.

--
Ben Hutchings
We get into the habit of living before acquiring the habit of thinking.
- Albert Camus