These commands will mysteriously fail:
$ make ARCH=arm versatile_defconfig
[...]
$ make ARCH=arm deb-pkg
[...]
make[1]: *** [deb-pkg] Error 1
make: *** [deb-pkg] Error 2
The Debian architecture selection for these kernel architectures does
'grep FOO=y $KCONFIG_CONFIG && echo bar', and after 'set -e' this
aborts the script if grep does not find the given config symbol.
Fixes: 10f26fa642 ('build, deb-pkg: select userland architecture based on UTS_MACHINE')
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Michal Marek <mmarek@suse.cz>
builddeb generates a control file that says the linux-headers package
can only be built for the build system primary architecture. This
breaks cross-building configurations. We should use $debarch for this
instead.
Since $debarch is not yet set when generating the control file, set
Architecture: any and use control file variables to fill in the
description.
Fixes: cd8d60a20a ('kbuild: create linux-headers package in deb-pkg')
Reported-and-tested-by: "Niew, Sh." <shniew@gmail.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Michal Marek <mmarek@suse.cz>
The kernel postinst hook for initramfs-tools will build an initramfs
on installation unless $INITRD is set to 'No'. make-kpkg generates a
postinst script that sets this variable appropriately, but we don't.
Set it based on CONFIG_BLK_DEV_INITRD.
This should also work with dracut when <http://bugs.debian.org/729622>
is fixed.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Michal Marek <mmarek@suse.cz>
scripts/package/builddeb is used to create Debian packages.
Currently the firmware package always gets the same version number
irrespective of the Kernel version.
The paths inside the firmware package depend on the Kernel
version.
With the patch supplied the Kernel version becomes part of the
Debian firmware package number.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Ben Hutchings <ben@decadent.org.uk>
Acked-by: maximilian attems <max@stro.at>
Signed-off-by: Michal Marek <mmarek@suse.cz>
We now provide the installed image path to the kernel hooks.
This should allow the package to better integrate with debian hooks, and
should not be too disruptive of hooks supporting only one parameter.
Signed-off-by: Anisse Astier <anisse@astier.eu>
Reviewed-by: Ben Hutchings <ben@decadent.org.uk>
Acked-by: maximilian attems <max@stro.at>
Signed-off-by: Michal Marek <mmarek@suse.cz>
This can reduce almost 3 times the size of the linux-image package,
while keeping the debug symbols available for this particular build, in
their own package.
This mimics the way kernels are built in debian, ubuntu, or with
make-kpkg, and comes at the price of a small slowdown in the building of
packages.
Signed-off-by: Anisse Astier <anisse@astier.eu>
Cc: Ben Hutchings <ben@decadent.org.uk>
Acked-by: maximilian attems <max@stro.at>
Signed-off-by: Michal Marek <mmarek@suse.cz>
I discovered that make deb-pkg does not add Makefile_32.cpu from
arch/x86 directory when doing i386 kernel build and package build.
Fix it by greedily adding all Makefiles.
Reported-by: Witold Baryluk <baryluk@smp.if.uj.edu.pl>
Signed-off-by: maximilian attems <max@stro.at>
Signed-off-by: Michal Marek <mmarek@suse.cz>
That way they don't file conflict with official firmware package:
trying to overwrite '/lib/firmware/qlogic/1040.bin', which is
also in package firmware-qlogic 0.35
..
Reported-by: Michael Prokop <mika@debian.org>
Signed-off-by: maximilian attems <max@stro.at>
Signed-off-by: Michal Marek <mmarek@suse.cz>
After 303395ac3b, some headers are
autogenerated. Include these autogenerated headers (mainly
unistd_32_ia32.h) in out-of-tree builds to allow DKMS modules to be
built succesfully.
Signed-off-by: Peter Lekensteyn <lekensteyn@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
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 <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>
Signed-off-by: Michal Marek <mmarek@suse.cz>
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 <max@stro.at>
Cc: debian-kernel@lists.debian.org
Cc: linux-kbuild@vger.kernel.org
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Reviewed-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Michal Marek <mmarek@suse.cz>
The current use of /tmp for file lists is insecure. Put them under
$objtree/debian instead.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: stable@vger.kernel.org # 2.6.39+
Acked-by: maximilian attems <max@stro.at>
Signed-off-by: Michal Marek <mmarek@suse.cz>
When building linux-headers package using deb-pkg, builddeb erroneously assume
current directory is the source tree. This is not true if building in another
directory, using make O=... deb-pkg.
This patch fix this problem.
Signed-off-by: Nicolas de Pesloüan <nicolas.2p.debian@free.fr>
Tested-by: Nikolai Kondrashov <spbnick@gmail.com>
Acked-by: maximilian attems <max@stro.at>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Fix x86 centric path to allow building kernel-header packages for
other architecture.
Signed-off-by: maximilian attems <max@stro.at>
Signed-off-by: Michal Marek <mmarek@suse.cz>
hdrpackage and headerpackage are not intuitive names,
use proposed alternatives by Michel Marek.
While touching them move the mkdir of the kernel_headers dir up
and fix it for paranoid umask.
CC: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: maximilian attems <max@stro.at>
Signed-off-by: Michal Marek <mmarek@suse.cz>
userland dev likes latest incarnation of that userland API.
make it easy to also build it on make deb-pkg invocation:
dpkg-deb: building package `linux-libc-dev' in `../linux-libc-dev_2.6.32-rc6-4_amd64.deb'.
Last year patch rebased on top of latest deb-pkg changes.
Signed-off-by: maximilian attems <max@stro.at>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Create a linux-headers-$KVER.deb package which can be used to build
external modules without having the source tree around.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Usefull if building for sparc64 userland, because the
sparc and sparc64 userlands use the same 64-bit kernel,
making it impossible to always select the correct userland
architecture for the resulting debian package.
Might also be usefull, if you want a i386 userland with a amd64 kernel.
Example usage:
make KBUILD_DEBARCH=i386 deb-pkg
LKML-reference: <alpine.DEB.2.02.1011051437500.13287@aurora.sdinet.de>
Signed-off-by: Asbjoern Sloth Toennesen <asbjorn@asbjorn.biz>
Reviewed-by: WANG Cong <xiyou.wangcong@gmail.com>
Acked-by: maximilian attems <max@stro.at>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Instead of creating the debian package for the compiling userland,
create it for a userland matching the kernel thats being compiled.
This patch supports all Lenny release architectures,
and Linux-based architecture candidates for Squeeze.
If it can't find a proper Debian userspace it displays a warning,
and fallback to let deb-gencontrol use the host's userspace arch.
Eg. with this patch the following make command:
make ARCH=i386 deb-pkg
will output an i386 Debian package instead of an amd64 one,
when run on an amd64 machine.
Signed-off-by: Asbjoern Sloth Toennesen <asbjorn@asbjorn.biz>
Acked-by: maximilian attems <max@stro.at>
Signed-off-by: Michal Marek <mmarek@suse.cz>
umask 077
make deb-pkg
<snipp ..>
dpkg-deb: building package `linux-image-2.6.36+' in `../linux-image-2.6.36+_2.6.36+-4_amd64.deb'.
dpkg-deb: control directory has bad permissions 700 (must be >=0755 and <=0775)
make[1]: *** [deb-pkg] Error 2
Reported-by: Bastian Blank <waldi@debian.org>
Signed-off-by: maximilian attems <max@stro.at>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Avoid an error when doing cp over the image when it does not contain
the full path to the file.
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
To follow the way that Official Debian kernel packages are made, put the
generated packages in the right section, the kernel section. This also
avoids polluting the admin section.
Signed-off-by: Rogério Brito <rbrito@ime.usp.br>
Signed-off-by: Michal Marek <mmarek@suse.cz>