From a47b6c61f58ead0396b837c58a91d0681b775b40 Mon Sep 17 00:00:00 2001 From: Joerg Roedel Date: Wed, 15 Feb 2012 17:38:26 +0100 Subject: kbuild: Fix link to headers in 'make deb-pkg' 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: maximilian attems Cc: debian-kernel@lists.debian.org Cc: linux-kbuild@vger.kernel.org Signed-off-by: Joerg Roedel Reviewed-by: Ben Hutchings Signed-off-by: Michal Marek --- scripts/package/builddeb | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'scripts/package') diff --git a/scripts/package/builddeb b/scripts/package/builddeb index 3c6c0b14c807..39e3f30384e7 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,7 @@ destdir=$kernel_headers_dir/usr/src/linux-headers-$version mkdir -p "$destdir" (cd $srctree; tar -c -f - -T "$objtree/debian/hdrsrcfiles") | (cd $destdir; tar -xf -) (cd $objtree; tar -c -f - -T "$objtree/debian/hdrobjfiles") | (cd $destdir; tar -xf -) +ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build" rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" arch=$(dpkg --print-architecture) -- cgit v1.2.3 From d7d357bc279453d402e96527bdcc5b40299f1cf0 Mon Sep 17 00:00:00 2001 From: Joerg Roedel Date: Wed, 15 Feb 2012 17:38:27 +0100 Subject: kbuild: Only build linux-image package for UML For user-mode Linux the other packages are not required. So only build the package with the linux-image in it. Cc: maximilian attems Cc: debian-kernel@lists.debian.org Cc: linux-kbuild@vger.kernel.org Signed-off-by: Joerg Roedel Tested-by: Ben Hutchings Signed-off-by: Michal Marek --- scripts/package/builddeb | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'scripts/package') diff --git a/scripts/package/builddeb b/scripts/package/builddeb index 39e3f30384e7..0db889f865c4 100644 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb @@ -130,8 +130,10 @@ if grep -q '^CONFIG_MODULES=y' .config ; then fi fi -make headers_check -make headers_install INSTALL_HDR_PATH="$libc_headers_dir/usr" +if [ "$ARCH" != "um" ]; then + make headers_check + make headers_install INSTALL_HDR_PATH="$libc_headers_dir/usr" +fi # Install the maintainer scripts # Note: hook scripts under /etc/kernel are also executed by official Debian @@ -263,8 +265,6 @@ Description: Linux kernel headers for $KERNELRELEASE on $arch This is useful for people who need to build external modules EOF -create_package "$kernel_headers_packagename" "$kernel_headers_dir" - # Do we have firmware? Move it out of the way and build it into a package. if [ -e "$tmpdir/lib/firmware" ]; then mv "$tmpdir/lib/firmware" "$fwdir/lib/" @@ -291,7 +291,11 @@ Description: Linux support headers for userspace development are used by the installed headers for GNU glibc and other system libraries. EOF -create_package "$libc_headers_packagename" "$libc_headers_dir" +if [ "$ARCH" != "um" ]; then + create_package "$kernel_headers_packagename" "$kernel_headers_dir" + create_package "$libc_headers_packagename" "$libc_headers_dir" +fi + create_package "$packagename" "$tmpdir" exit 0 -- cgit v1.2.3 From dddcbb7ce3a9947710137d06d0157a2355be93dc Mon Sep 17 00:00:00 2001 From: Joerg Roedel Date: Thu, 16 Feb 2012 19:56:37 +0100 Subject: kbuild: Fix out-of-tree build for 'make deb-pkg' The out-of-tree build is broken in 'make deb-pkg'. The header checks and the header install works on the source and not on the object tree. While fixing this also replace the direct 'make' invocations with the $MAKE variable to be consistent within the script. Cc: maximilian attems Cc: Ben Hutchings Cc: debian-kernel@lists.debian.org Cc: linux-kbuild@vger.kernel.org Signed-off-by: Joerg Roedel Signed-off-by: Michal Marek --- scripts/package/builddeb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'scripts/package') diff --git a/scripts/package/builddeb b/scripts/package/builddeb index 0db889f865c4..eee5f8ed2493 100644 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb @@ -121,7 +121,7 @@ else fi if grep -q '^CONFIG_MODULES=y' .config ; then - INSTALL_MOD_PATH="$tmpdir" make KBUILD_SRC= modules_install + 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 @@ -131,8 +131,8 @@ if grep -q '^CONFIG_MODULES=y' .config ; then fi if [ "$ARCH" != "um" ]; then - make headers_check - make headers_install INSTALL_HDR_PATH="$libc_headers_dir/usr" + $MAKE headers_check KBUILD_SRC= + $MAKE headers_install KBUILD_SRC= INSTALL_HDR_PATH="$libc_headers_dir/usr" fi # Install the maintainer scripts -- cgit v1.2.3