Re: [PATCH RESEND 2/2] builddeb: allow building without headers/firmware packages

2016-11-16 Thread Jim Davis
On Sun, Nov 13, 2016 at 7:47 PM, Andrew Donnellan
 wrote:
> Currently, the deb-pkg and bindeb-pkg targets create multiple packages for
> the kernel binaries, headers, userspace headers and firmware.
>
> For developers who generate Debian packages as part of their development
> workflows, it's often not necessary to generate all these packages.
>
> Allow the creation of the linux-headers, linux-libc-dev and linux-firmware
> packages to be disabled if the environment variables KDEB_NO_HEADERS,
> KDEB_NO_LIBC_HEADERS or KDEB_NO_FIRMWARE are non-empty.
>
> Signed-off-by: Andrew Donnellan 
> ---
>  Documentation/kbuild/kbuild.txt |  7 +
>  scripts/package/builddeb| 67 
> -
>  2 files changed, 46 insertions(+), 28 deletions(-)
>
> diff --git a/Documentation/kbuild/kbuild.txt b/Documentation/kbuild/kbuild.txt
> index 0ff6a46..cef4f7f 100644
> --- a/Documentation/kbuild/kbuild.txt
> +++ b/Documentation/kbuild/kbuild.txt
> @@ -238,3 +238,10 @@ KBUILD_VMLINUX_MAIN
>  All object files for the main part of vmlinux.
>  KBUILD_VMLINUX_INIT and KBUILD_VMLINUX_MAIN together specify
>  all the object files used to link vmlinux.
> +
> +KDEB_NO_HEADERS, KDEB_NO_LIBC_HEADERS, KDEB_NO_FIRMWARE
> +---
> +If these variables are set, the deb-pkg and bindeb-pkg targets won't create
> +linux-headers, linux-libc-dev and linux-firmware packages respectively. This
> +may be useful for developers who use the deb-pkg targets in their workflow
> +but don't need the full set of packages.
> diff --git a/scripts/package/builddeb b/scripts/package/builddeb
> index d600fd0..da595da 100755
> --- a/scripts/package/builddeb
> +++ b/scripts/package/builddeb
> @@ -187,7 +187,9 @@ fi
>
>  if [ "$ARCH" != "um" ]; then
> $MAKE headers_check KBUILD_SRC=
> -   $MAKE headers_install KBUILD_SRC= 
> INSTALL_HDR_PATH="$libc_headers_dir/usr"
> +   if [ -z "$KDEB_NO_LIBC_HEADERS" ]; then
> +   $MAKE headers_install KBUILD_SRC= 
> INSTALL_HDR_PATH="$libc_headers_dir/usr"
> +   fi
>  fi
>
>  # Install the maintainer scripts
> @@ -324,26 +326,27 @@ EOF
>  fi
>
>  # Build kernel header package
> -(cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > 
> "$objtree/debian/hdrsrcfiles"
> -(cd $srctree; find arch/*/include include scripts -type f) >> 
> "$objtree/debian/hdrsrcfiles"
> -(cd $srctree; find arch/$SRCARCH -name module.lds -o -name Kbuild.platforms 
> -o -name Platform) >> "$objtree/debian/hdrsrcfiles"
> -(cd $srctree; find $(find arch/$SRCARCH -name include -o -name scripts -type 
> d) -type f) >> "$objtree/debian/hdrsrcfiles"
> -if grep -q '^CONFIG_STACK_VALIDATION=y' $KCONFIG_CONFIG ; then
> -   (cd $objtree; find tools/objtool -type f -executable) >> 
> "$objtree/debian/hdrobjfiles"
> -fi
> -(cd $objtree; find arch/$SRCARCH/include Module.symvers include scripts 
> -type f) >> "$objtree/debian/hdrobjfiles"
> -if grep -q '^CONFIG_GCC_PLUGINS=y' $KCONFIG_CONFIG ; then
> -   (cd $objtree; find scripts/gcc-plugins -name \*.so -o -name 
> gcc-common.h) >> "$objtree/debian/hdrobjfiles"
> -fi
> -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 -)
> -(cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config manually 
> to be where it's expected to be
> -ln -sf "/usr/src/linux-headers-$version" 
> "$kernel_headers_dir/lib/modules/$version/build"
> -rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles"
> +if [ -z "$KDEB_NO_HEADERS" ]; then
> +   (cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name 
> \*.pl) > "$objtree/debian/hdrsrcfiles"
> +   (cd $srctree; find arch/*/include include scripts -type f) >> 
> "$objtree/debian/hdrsrcfiles"
> +   (cd $srctree; find arch/$SRCARCH -name module.lds -o -name 
> Kbuild.platforms -o -name Platform) >> "$objtree/debian/hdrsrcfiles"
> +   (cd $srctree; find $(find arch/$SRCARCH -name include -o -name 
> scripts -type d) -type f) >> "$objtree/debian/hdrsrcfiles"
> +   if grep -q '^CONFIG_STACK_VALIDATION=y' $KCONFIG_CONFIG ; then
> +   (cd $objtree; find tools/objtool -type f -executable) >> 
> "$objtree/debian/hdrobjfiles"
> +   fi
> +   (cd $objtree; find arch/$SRCARCH/include Module.symvers include 
> scripts -type f) >> "$objtree/debian/hdrobjfiles"
> +   if grep -q '^CONFIG_GCC_PLUGINS=y' $KCONFIG_CONFIG ; then
> +   (cd $objtree; find scripts/gcc-plugins -name \*.so -o -name 
> gcc-common.h) >> "$objtree/debian/hdrobjfiles"
> +   fi
> +   destdir=$kernel_headers_dir/usr/src/linux-headers-$version
> +   mkdir -p "$destdir"
> +   (cd $srctree; tar -c -f - -T -) < 

Re: [PATCH RESEND 2/2] builddeb: allow building without headers/firmware packages

2016-11-16 Thread Jim Davis
On Sun, Nov 13, 2016 at 7:47 PM, Andrew Donnellan
 wrote:
> Currently, the deb-pkg and bindeb-pkg targets create multiple packages for
> the kernel binaries, headers, userspace headers and firmware.
>
> For developers who generate Debian packages as part of their development
> workflows, it's often not necessary to generate all these packages.
>
> Allow the creation of the linux-headers, linux-libc-dev and linux-firmware
> packages to be disabled if the environment variables KDEB_NO_HEADERS,
> KDEB_NO_LIBC_HEADERS or KDEB_NO_FIRMWARE are non-empty.
>
> Signed-off-by: Andrew Donnellan 
> ---
>  Documentation/kbuild/kbuild.txt |  7 +
>  scripts/package/builddeb| 67 
> -
>  2 files changed, 46 insertions(+), 28 deletions(-)
>
> diff --git a/Documentation/kbuild/kbuild.txt b/Documentation/kbuild/kbuild.txt
> index 0ff6a46..cef4f7f 100644
> --- a/Documentation/kbuild/kbuild.txt
> +++ b/Documentation/kbuild/kbuild.txt
> @@ -238,3 +238,10 @@ KBUILD_VMLINUX_MAIN
>  All object files for the main part of vmlinux.
>  KBUILD_VMLINUX_INIT and KBUILD_VMLINUX_MAIN together specify
>  all the object files used to link vmlinux.
> +
> +KDEB_NO_HEADERS, KDEB_NO_LIBC_HEADERS, KDEB_NO_FIRMWARE
> +---
> +If these variables are set, the deb-pkg and bindeb-pkg targets won't create
> +linux-headers, linux-libc-dev and linux-firmware packages respectively. This
> +may be useful for developers who use the deb-pkg targets in their workflow
> +but don't need the full set of packages.
> diff --git a/scripts/package/builddeb b/scripts/package/builddeb
> index d600fd0..da595da 100755
> --- a/scripts/package/builddeb
> +++ b/scripts/package/builddeb
> @@ -187,7 +187,9 @@ fi
>
>  if [ "$ARCH" != "um" ]; then
> $MAKE headers_check KBUILD_SRC=
> -   $MAKE headers_install KBUILD_SRC= 
> INSTALL_HDR_PATH="$libc_headers_dir/usr"
> +   if [ -z "$KDEB_NO_LIBC_HEADERS" ]; then
> +   $MAKE headers_install KBUILD_SRC= 
> INSTALL_HDR_PATH="$libc_headers_dir/usr"
> +   fi
>  fi
>
>  # Install the maintainer scripts
> @@ -324,26 +326,27 @@ EOF
>  fi
>
>  # Build kernel header package
> -(cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > 
> "$objtree/debian/hdrsrcfiles"
> -(cd $srctree; find arch/*/include include scripts -type f) >> 
> "$objtree/debian/hdrsrcfiles"
> -(cd $srctree; find arch/$SRCARCH -name module.lds -o -name Kbuild.platforms 
> -o -name Platform) >> "$objtree/debian/hdrsrcfiles"
> -(cd $srctree; find $(find arch/$SRCARCH -name include -o -name scripts -type 
> d) -type f) >> "$objtree/debian/hdrsrcfiles"
> -if grep -q '^CONFIG_STACK_VALIDATION=y' $KCONFIG_CONFIG ; then
> -   (cd $objtree; find tools/objtool -type f -executable) >> 
> "$objtree/debian/hdrobjfiles"
> -fi
> -(cd $objtree; find arch/$SRCARCH/include Module.symvers include scripts 
> -type f) >> "$objtree/debian/hdrobjfiles"
> -if grep -q '^CONFIG_GCC_PLUGINS=y' $KCONFIG_CONFIG ; then
> -   (cd $objtree; find scripts/gcc-plugins -name \*.so -o -name 
> gcc-common.h) >> "$objtree/debian/hdrobjfiles"
> -fi
> -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 -)
> -(cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config manually 
> to be where it's expected to be
> -ln -sf "/usr/src/linux-headers-$version" 
> "$kernel_headers_dir/lib/modules/$version/build"
> -rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles"
> +if [ -z "$KDEB_NO_HEADERS" ]; then
> +   (cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name 
> \*.pl) > "$objtree/debian/hdrsrcfiles"
> +   (cd $srctree; find arch/*/include include scripts -type f) >> 
> "$objtree/debian/hdrsrcfiles"
> +   (cd $srctree; find arch/$SRCARCH -name module.lds -o -name 
> Kbuild.platforms -o -name Platform) >> "$objtree/debian/hdrsrcfiles"
> +   (cd $srctree; find $(find arch/$SRCARCH -name include -o -name 
> scripts -type d) -type f) >> "$objtree/debian/hdrsrcfiles"
> +   if grep -q '^CONFIG_STACK_VALIDATION=y' $KCONFIG_CONFIG ; then
> +   (cd $objtree; find tools/objtool -type f -executable) >> 
> "$objtree/debian/hdrobjfiles"
> +   fi
> +   (cd $objtree; find arch/$SRCARCH/include Module.symvers include 
> scripts -type f) >> "$objtree/debian/hdrobjfiles"
> +   if grep -q '^CONFIG_GCC_PLUGINS=y' $KCONFIG_CONFIG ; then
> +   (cd $objtree; find scripts/gcc-plugins -name \*.so -o -name 
> gcc-common.h) >> "$objtree/debian/hdrobjfiles"
> +   fi
> +   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 -)
> +   

[PATCH RESEND 2/2] builddeb: allow building without headers/firmware packages

2016-11-13 Thread Andrew Donnellan
Currently, the deb-pkg and bindeb-pkg targets create multiple packages for
the kernel binaries, headers, userspace headers and firmware.

For developers who generate Debian packages as part of their development
workflows, it's often not necessary to generate all these packages.

Allow the creation of the linux-headers, linux-libc-dev and linux-firmware
packages to be disabled if the environment variables KDEB_NO_HEADERS,
KDEB_NO_LIBC_HEADERS or KDEB_NO_FIRMWARE are non-empty.

Signed-off-by: Andrew Donnellan 
---
 Documentation/kbuild/kbuild.txt |  7 +
 scripts/package/builddeb| 67 -
 2 files changed, 46 insertions(+), 28 deletions(-)

diff --git a/Documentation/kbuild/kbuild.txt b/Documentation/kbuild/kbuild.txt
index 0ff6a46..cef4f7f 100644
--- a/Documentation/kbuild/kbuild.txt
+++ b/Documentation/kbuild/kbuild.txt
@@ -238,3 +238,10 @@ KBUILD_VMLINUX_MAIN
 All object files for the main part of vmlinux.
 KBUILD_VMLINUX_INIT and KBUILD_VMLINUX_MAIN together specify
 all the object files used to link vmlinux.
+
+KDEB_NO_HEADERS, KDEB_NO_LIBC_HEADERS, KDEB_NO_FIRMWARE
+---
+If these variables are set, the deb-pkg and bindeb-pkg targets won't create
+linux-headers, linux-libc-dev and linux-firmware packages respectively. This
+may be useful for developers who use the deb-pkg targets in their workflow
+but don't need the full set of packages.
diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index d600fd0..da595da 100755
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -187,7 +187,9 @@ fi
 
 if [ "$ARCH" != "um" ]; then
$MAKE headers_check KBUILD_SRC=
-   $MAKE headers_install KBUILD_SRC= 
INSTALL_HDR_PATH="$libc_headers_dir/usr"
+   if [ -z "$KDEB_NO_LIBC_HEADERS" ]; then
+   $MAKE headers_install KBUILD_SRC= 
INSTALL_HDR_PATH="$libc_headers_dir/usr"
+   fi
 fi
 
 # Install the maintainer scripts
@@ -324,26 +326,27 @@ EOF
 fi
 
 # Build kernel header package
-(cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > 
"$objtree/debian/hdrsrcfiles"
-(cd $srctree; find arch/*/include include scripts -type f) >> 
"$objtree/debian/hdrsrcfiles"
-(cd $srctree; find arch/$SRCARCH -name module.lds -o -name Kbuild.platforms -o 
-name Platform) >> "$objtree/debian/hdrsrcfiles"
-(cd $srctree; find $(find arch/$SRCARCH -name include -o -name scripts -type 
d) -type f) >> "$objtree/debian/hdrsrcfiles"
-if grep -q '^CONFIG_STACK_VALIDATION=y' $KCONFIG_CONFIG ; then
-   (cd $objtree; find tools/objtool -type f -executable) >> 
"$objtree/debian/hdrobjfiles"
-fi
-(cd $objtree; find arch/$SRCARCH/include Module.symvers include scripts -type 
f) >> "$objtree/debian/hdrobjfiles"
-if grep -q '^CONFIG_GCC_PLUGINS=y' $KCONFIG_CONFIG ; then
-   (cd $objtree; find scripts/gcc-plugins -name \*.so -o -name 
gcc-common.h) >> "$objtree/debian/hdrobjfiles"
-fi
-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 -)
-(cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config manually to 
be where it's expected to be
-ln -sf "/usr/src/linux-headers-$version" 
"$kernel_headers_dir/lib/modules/$version/build"
-rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles"
+if [ -z "$KDEB_NO_HEADERS" ]; then
+   (cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name 
\*.pl) > "$objtree/debian/hdrsrcfiles"
+   (cd $srctree; find arch/*/include include scripts -type f) >> 
"$objtree/debian/hdrsrcfiles"
+   (cd $srctree; find arch/$SRCARCH -name module.lds -o -name 
Kbuild.platforms -o -name Platform) >> "$objtree/debian/hdrsrcfiles"
+   (cd $srctree; find $(find arch/$SRCARCH -name include -o -name scripts 
-type d) -type f) >> "$objtree/debian/hdrsrcfiles"
+   if grep -q '^CONFIG_STACK_VALIDATION=y' $KCONFIG_CONFIG ; then
+   (cd $objtree; find tools/objtool -type f -executable) >> 
"$objtree/debian/hdrobjfiles"
+   fi
+   (cd $objtree; find arch/$SRCARCH/include Module.symvers include scripts 
-type f) >> "$objtree/debian/hdrobjfiles"
+   if grep -q '^CONFIG_GCC_PLUGINS=y' $KCONFIG_CONFIG ; then
+   (cd $objtree; find scripts/gcc-plugins -name \*.so -o -name 
gcc-common.h) >> "$objtree/debian/hdrobjfiles"
+   fi
+   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 -)
+   (cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config 
manually to be where it's expected to be
+   ln -sf 

[PATCH RESEND 2/2] builddeb: allow building without headers/firmware packages

2016-11-13 Thread Andrew Donnellan
Currently, the deb-pkg and bindeb-pkg targets create multiple packages for
the kernel binaries, headers, userspace headers and firmware.

For developers who generate Debian packages as part of their development
workflows, it's often not necessary to generate all these packages.

Allow the creation of the linux-headers, linux-libc-dev and linux-firmware
packages to be disabled if the environment variables KDEB_NO_HEADERS,
KDEB_NO_LIBC_HEADERS or KDEB_NO_FIRMWARE are non-empty.

Signed-off-by: Andrew Donnellan 
---
 Documentation/kbuild/kbuild.txt |  7 +
 scripts/package/builddeb| 67 -
 2 files changed, 46 insertions(+), 28 deletions(-)

diff --git a/Documentation/kbuild/kbuild.txt b/Documentation/kbuild/kbuild.txt
index 0ff6a46..cef4f7f 100644
--- a/Documentation/kbuild/kbuild.txt
+++ b/Documentation/kbuild/kbuild.txt
@@ -238,3 +238,10 @@ KBUILD_VMLINUX_MAIN
 All object files for the main part of vmlinux.
 KBUILD_VMLINUX_INIT and KBUILD_VMLINUX_MAIN together specify
 all the object files used to link vmlinux.
+
+KDEB_NO_HEADERS, KDEB_NO_LIBC_HEADERS, KDEB_NO_FIRMWARE
+---
+If these variables are set, the deb-pkg and bindeb-pkg targets won't create
+linux-headers, linux-libc-dev and linux-firmware packages respectively. This
+may be useful for developers who use the deb-pkg targets in their workflow
+but don't need the full set of packages.
diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index d600fd0..da595da 100755
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -187,7 +187,9 @@ fi
 
 if [ "$ARCH" != "um" ]; then
$MAKE headers_check KBUILD_SRC=
-   $MAKE headers_install KBUILD_SRC= 
INSTALL_HDR_PATH="$libc_headers_dir/usr"
+   if [ -z "$KDEB_NO_LIBC_HEADERS" ]; then
+   $MAKE headers_install KBUILD_SRC= 
INSTALL_HDR_PATH="$libc_headers_dir/usr"
+   fi
 fi
 
 # Install the maintainer scripts
@@ -324,26 +326,27 @@ EOF
 fi
 
 # Build kernel header package
-(cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > 
"$objtree/debian/hdrsrcfiles"
-(cd $srctree; find arch/*/include include scripts -type f) >> 
"$objtree/debian/hdrsrcfiles"
-(cd $srctree; find arch/$SRCARCH -name module.lds -o -name Kbuild.platforms -o 
-name Platform) >> "$objtree/debian/hdrsrcfiles"
-(cd $srctree; find $(find arch/$SRCARCH -name include -o -name scripts -type 
d) -type f) >> "$objtree/debian/hdrsrcfiles"
-if grep -q '^CONFIG_STACK_VALIDATION=y' $KCONFIG_CONFIG ; then
-   (cd $objtree; find tools/objtool -type f -executable) >> 
"$objtree/debian/hdrobjfiles"
-fi
-(cd $objtree; find arch/$SRCARCH/include Module.symvers include scripts -type 
f) >> "$objtree/debian/hdrobjfiles"
-if grep -q '^CONFIG_GCC_PLUGINS=y' $KCONFIG_CONFIG ; then
-   (cd $objtree; find scripts/gcc-plugins -name \*.so -o -name 
gcc-common.h) >> "$objtree/debian/hdrobjfiles"
-fi
-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 -)
-(cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config manually to 
be where it's expected to be
-ln -sf "/usr/src/linux-headers-$version" 
"$kernel_headers_dir/lib/modules/$version/build"
-rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles"
+if [ -z "$KDEB_NO_HEADERS" ]; then
+   (cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name 
\*.pl) > "$objtree/debian/hdrsrcfiles"
+   (cd $srctree; find arch/*/include include scripts -type f) >> 
"$objtree/debian/hdrsrcfiles"
+   (cd $srctree; find arch/$SRCARCH -name module.lds -o -name 
Kbuild.platforms -o -name Platform) >> "$objtree/debian/hdrsrcfiles"
+   (cd $srctree; find $(find arch/$SRCARCH -name include -o -name scripts 
-type d) -type f) >> "$objtree/debian/hdrsrcfiles"
+   if grep -q '^CONFIG_STACK_VALIDATION=y' $KCONFIG_CONFIG ; then
+   (cd $objtree; find tools/objtool -type f -executable) >> 
"$objtree/debian/hdrobjfiles"
+   fi
+   (cd $objtree; find arch/$SRCARCH/include Module.symvers include scripts 
-type f) >> "$objtree/debian/hdrobjfiles"
+   if grep -q '^CONFIG_GCC_PLUGINS=y' $KCONFIG_CONFIG ; then
+   (cd $objtree; find scripts/gcc-plugins -name \*.so -o -name 
gcc-common.h) >> "$objtree/debian/hdrobjfiles"
+   fi
+   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 -)
+   (cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config 
manually to be where it's expected to be
+   ln -sf "/usr/src/linux-headers-$version"