summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorMichal Marek <mmarek@suse.cz>2011-01-07 21:46:16 +0000
committerMichal Marek <mmarek@suse.cz>2011-01-07 21:46:16 +0000
commitbef6a5a83edaa8feca5c20e23bd390c34f1e54ee (patch)
tree9b952458844d735e5c75e68cf064d13f5f4afb1b /scripts
parente88e113b3f354936c69769fb0ae690443200c9af (diff)
parentee81b786a07f1d6062d6e14b6152f1f6cc4bc63b (diff)
Merge branch 'packaging' into for-next
Diffstat (limited to 'scripts')
-rw-r--r--scripts/package/builddeb35
1 files changed, 28 insertions, 7 deletions
diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index 5fc1e6f71838..b0b2357aef42 100644
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -76,21 +76,27 @@ else
fi
tmpdir="$objtree/debian/tmp"
fwdir="$objtree/debian/fwtmp"
-hdrdir="$objtree/debian/hdrtmp"
+kernel_headers_dir="$objtree/debian/hdrtmp"
+libc_headers_dir="$objtree/debian/headertmp"
packagename=linux-image-$version
fwpackagename=linux-firmware-image
-hdrpackagename=linux-headers-$version
+kernel_headers_packagename=linux-headers-$version
+libc_headers_packagename=linux-libc-dev
if [ "$ARCH" = "um" ] ; then
packagename=user-mode-linux-$version
fi
# Setup the directory structure
-rm -rf "$tmpdir" "$fwdir" "$hdrdir"
+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 -m 755 -p "$fwdir/DEBIAN"
mkdir -p "$fwdir/lib" "$fwdir/usr/share/doc/$fwpackagename"
+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"
if [ "$ARCH" = "um" ] ; then
mkdir -p "$tmpdir/usr/lib/uml/modules/$version" "$tmpdir/usr/bin"
fi
@@ -121,6 +127,9 @@ if grep -q '^CONFIG_MODULES=y' .config ; then
fi
fi
+make headers_check
+make headers_install INSTALL_HDR_PATH="$libc_headers_dir/usr"
+
# Install the maintainer scripts
# Note: hook scripts under /etc/kernel are also executed by official Debian
# kernel packages, as well as kernel packages built using make-kpkg
@@ -232,8 +241,8 @@ fi
find . -name Makefile -o -name Kconfig\* -o -name \*.pl > /tmp/files$$
find arch/x86/include include scripts -type f >> /tmp/files$$
(cd $objtree; find .config Module.symvers include scripts -type f >> /tmp/objfiles$$)
-destdir=$hdrdir/usr/src/linux-headers-$version
-mkdir -p "$destdir" "$hdrdir/DEBIAN" "$hdrdir/usr/share/doc/$hdrpackagename"
+destdir=$kernel_headers_dir/usr/src/linux-headers-$version
+mkdir -p "$destdir"
tar -c -f - -T /tmp/files$$ | (cd $destdir; tar -xf -)
(cd $objtree; tar -c -f - -T /tmp/objfiles$$) | (cd $destdir; tar -xf -)
rm -f /tmp/files$$ /tmp/objfiles$$
@@ -241,7 +250,7 @@ arch=$(dpkg --print-architecture)
cat <<EOF >> debian/control
-Package: $hdrpackagename
+Package: $kernel_headers_packagename
Provides: linux-headers, linux-headers-2.6
Architecture: $arch
Description: Linux kernel headers for $KERNELRELEASE on $arch
@@ -250,7 +259,7 @@ Description: Linux kernel headers for $KERNELRELEASE on $arch
This is useful for people who need to build external modules
EOF
-create_package "$hdrpackagename" "$hdrdir"
+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
@@ -267,6 +276,18 @@ EOF
create_package "$fwpackagename" "$fwdir"
fi
+cat <<EOF >> debian/control
+
+Package: $libc_headers_packagename
+Section: devel
+Provides: linux-kernel-headers
+Architecture: any
+Description: Linux support headers for userspace development
+ This package provides userspaces headers from the Linux kernel. These headers
+ are used by the installed headers for GNU glibc and other system libraries.
+EOF
+
+create_package "$libc_headers_packagename" "$libc_headers_dir"
create_package "$packagename" "$tmpdir"
exit 0