lkml.org 
[lkml]   [2012]   [Feb]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v2] kbuild: Fix link to headers in 'make deb-pkg'
From
Date
On Mon, 2012-02-13 at 15:48 +0100, 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.
>
> Cc: Michal Marek <mmarek@suse.cz>
> Cc: maximilian attems <max@stro.at>
> Cc: Ben Hutchings <ben@decadent.org.uk>
> Cc: debian-kernel@lists.debian.org
> Cc: linux-kbuild@vger.kernel.org
> Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>

This looks good for !UML.

I wonder about the UML case though. Did you test it? In 3.3-rc3,
'make headers_install' is broken. But if I suppress the header check,
the resulting packages have links in the right places.

I'm also unconvinced that anyone will be interested in building an OOT
module for UML; and if they do their build script or makefile will use
'make -C /lib/modules/<version>/build' which won't work. Maybe for UML
we should only build the 'image' package?

Ben.

> ---
> scripts/package/builddeb | 9 +++++++++
> 1 files changed, 9 insertions(+), 0 deletions(-)
>
> diff --git a/scripts/package/builddeb b/scripts/package/builddeb
> index f6cbc3d..fc3f76a 100644
> --- a/scripts/package/builddeb
> +++ b/scripts/package/builddeb
> @@ -97,6 +97,7 @@ mkdir -m 755 -p "$libc_headers_dir/DEBIAN"
> mkdir -p "$libc_headers_dir/usr/share/doc/$libc_headers_packagename"
> mkdir -m 755 -p "$kernel_headers_dir/DEBIAN"
> mkdir -p "$kernel_headers_dir/usr/share/doc/$kernel_headers_packagename"
> +mkdir -p "$kernel_headers_dir/lib/modules/$version/"
> if [ "$ARCH" = "um" ] ; then
> mkdir -p "$tmpdir/usr/lib/uml/modules/$version" "$tmpdir/usr/bin"
> fi
> @@ -121,6 +122,8 @@ fi
>
> if grep -q '^CONFIG_MODULES=y' .config ; then
> INSTALL_MOD_PATH="$tmpdir" make KBUILD_SRC= modules_install
> + rm -f "$tmpdir/lib/modules/$version/build"
> + rm -f "$tmpdir/lib/modules/$version/source"
> if [ "$ARCH" = "um" ] ; then
> mv "$tmpdir/lib/modules/$version"/* "$tmpdir/usr/lib/uml/modules/$version/"
> rmdir "$tmpdir/lib/modules/$version"
> @@ -245,6 +248,12 @@ destdir=$kernel_headers_dir/usr/src/linux-headers-$version
> mkdir -p "$destdir"
> (cd $srctree; tar -c -f - -T /tmp/files$$) | (cd $destdir; tar -xf -)
> (cd $objtree; tar -c -f - -T /tmp/objfiles$$) | (cd $destdir; tar -xf -)
> +ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build"
> +if [ "$ARCH" = "um" ] ; then
> + mkdir -p "$kernel_headers_dir/usr/lib/uml/modules/$version/"
> + mv "$kernel_headers_dir/lib/modules/$version"/* "$kernel_headers_dir/usr/lib/uml/modules/$version/"
> + rmdir "$kernel_headers_dir/lib/modules/$version"
> +fi
> rm -f /tmp/files$$ /tmp/objfiles$$
> arch=$(dpkg --print-architecture)
>

--
Ben Hutchings
Beware of programmers who carry screwdrivers. - Leonard Brandwein
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2012-02-14 03:51    [W:0.093 / U:0.116 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site