11 Nov, 2015
1 commit
-
Pull misc kbuild updates from Michal Marek:
"This is the non-critical part of kbuild:- several coccinelle updates
- make deb-pkg creates an armhf package if CONFIG_VFP=y
- make tags understands some more powerpc macros"* 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
coccinelle: Improve checking for missing NULL terminators
coccinelle: ifnullfree: handle various destroy functions
coccinelle: ifnullfree: various cleanups
cocinelle: iterators: semantic patch to delete unneeded of_node_put
deb-pkg: Add automatic support for armhf architecture
scripts/coccinelle: fix typos
coccinelle: misc: remove "complex return code" warnings
Coccinelle: fix incorrect -include option transformation
coccinelle: tests: improve odd_ptr_err.cocci
coccinelle: misc: move constants to the right
scripts/tags.sh: Teach tags about some powerpc macros
27 Oct, 2015
1 commit
-
The Debian armhf architecture uses the ARM EABI hard-float variant,
whereas armel uses the soft-float variant. Although the kernel
doesn't use FP itself, CONFIG_VFP must be enabled to support
hard-float userland and will probably be disabled when supporting a
soft-float userland. So set the architecture to armhf by default when
CONFIG_AEABI and CONFIG_VFP are both enabled.Signed-off-by: Ben Hutchings
Acked-by: Ian Campbell
Acked-by: Fathi Boudra
Reviewed-by: Riku Voipio
Signed-off-by: Michal Marek
17 Oct, 2015
1 commit
-
Commit 3716001bcb7f ("deb-pkg: add source package") added the ability to
create a debian changelog file. This exposed that previously the
builddeb script hasn't cleared debian/files between builds.As debian/files keeps accumulating entries, the changes file will end up
growing indefinelty. With outdated entries in debian/files, builddeb
script will exit with failure. This regression impacts those who use
"make deb-pkg" target to build kernel into a .deb package and never use
"make mrproper" or other means to clean kernel tree from generated
directories.To fix the regression, remove debian/files before starting build and in
the generated clean rule.Fixes: 3716001bcb7f ("deb-pkg: add source package")
Signed-off-by: Riku Voipio
Reported-by: Doug Smythies
Tested-by: Doug Smythies
Tested-by: Kalle Valo
Acked-by: Ben Hutchings
Cc: Michal Marek
Cc: maximilian attems
Cc: Chris J Arges
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
04 Sep, 2015
2 commits
-
Make deb-pkg build both source and binary package like make rpm-pkg does.
For people who only need binary kernel package, there is now bindeb-pkg
target, same target also used to build the .deb files if built from the
source package using dpkg-buildpackage.Generated source package will build the same kernel .config than what
was available for make deb-pkg. The name of the source package can
be set with KDEB_SOURCENAME enviroment variable.The source package is useful for GPL compliance, or for feeding to a
automated debian package builder.Cc: Chris J Arges
Reviewed-by: maximilian attems
Reviewed-by: Ben Hutchings
Signed-off-by: Riku Voipio
Signed-off-by: Michal Marek -
Split source tarball creation from rpm-pkg target
so it can be used from deb-pkg target as well. As
added bonus, we can now pretty print TAR the name of
tarball created in quiet modeThis patch prepares the groundwork for deb-pkg source
package adding bit.Signed-off-by: Riku Voipio
Signed-off-by: Michal Marek
26 Aug, 2015
1 commit
-
This causes conflicts when using multiple kernels built
with this mechanism.Reviewed-by: Dennis Dalessandro
Signed-off-by: Mike Marciniszyn
Signed-off-by: Michal Marek
20 Aug, 2015
1 commit
-
I happened to build a kernel with "make deb-pkg" on a machine with no
network connectivity, but this failed with:[...]
INSTALL debian/headertmp/usr/include/asm/ (65 files)
hostname: Name or service not known
../scripts/package/Makefile:90: recipe for target 'deb-pkg' failed
make[2]: *** [deb-pkg] Error 1In scripts/package/builddeb it tries to construct an email address (that
can be queried in /proc/version later on) but with no network,
the "hostname -f" fails. The following patch falls back to just use the
shortname if we cannot determine our FQDN.Signed-off-by: Christian Kujau
Signed-off-by: Michal Marek
19 Aug, 2015
1 commit
-
Every package needs /usr/share/doc/$package_name and
DEBIAN directory, so create them as part of create_package
function.Signed-off-by: Riku Voipio
Signed-off-by: Michal Marek
15 Jun, 2015
1 commit
-
Before rpm release 4.1, in 2002, either the rpm command or the
rpmbuild command could be used in the rpm-pkg or binrpm-pkg targets,
and the Makefile chose the rpm command if the rpmbuild command wasn't
found.After release 4.1, however, the rpm command could no longer be used in
place of the rpmbuild command. As the rpmbuild command is not
installed by default, this can lead to failures with the rpm-pkg and
binrpm-pkg targets:rpm --define "_builddir ." --target \
x86_64 -bb ./binkernel.spec
rpm --target: unknown option
scripts/package/Makefile:60: recipe for target 'binrpm-pkg' failedChange the Makefile to use rpmbuild unconditionally to avoid this.
Signed-off-by: Jim Davis
Signed-off-by: Michal Marek
20 May, 2015
1 commit
-
When building a package with make deb-pkg (say, for arm), the dtb files are
not added to the package. Given that things are still evolving on arm, it
make sense to have them along with the kernel and modules.Signed-off-by: Arnaud Patard
Reviewed-by: Ben Hutchings
Acked-by: maximilian attems
Signed-off-by: Michal Marek
06 May, 2015
1 commit
-
If CONFIG_MODULE_SIG_ALL is set, then user expects that all modules are
automatically signed in the result package, as it's for rpm-pkg, binrpm-pkg,
tar, tar-*. For deb-pkg this is correct only if CONFIG_DEBUG_INFO
is NOT set. In that case deb-package contains signed modules.But if CONFIG_DEBUG_INFO is set, builddeb creates separate package with
debug information. To do that, debug information from all modules
is copied into separate files by objcopy. And loadable kernel modules are
stripped afterwards. Stripping removes previously (during modules_install)
added signatures from loadable kernel modules. Therefore final deb-package
contains unsigned modules despite of set option CONFIG_MODULE_SIG_ALL.This patch resigns all stripped modules if CONFIG_MODULE_SIG_ALL is set
to solve this problem.Signed-off-by: Andrey Skvortsov
Acked-by: maximilian attems
Signed-off-by: Michal Marek
27 Apr, 2015
2 commits
-
create_package() function tries to resolve used architecture
for everry package. Split the setting the architecture to a
new function, set_debarch(), called once on startup.This allows using debarch from other parts of script as
needed.v2: Follow Michals suggestion on setting variables at
top scope and also setting the fallback $debarch in the
new functionSigned-off-by: Riku Voipio
Signed-off-by: Michal Marek -
No need for the intermediary vmlinux.orig - bzip2 can keep the original
files used for compression with --keep.Signed-off-by: Borislav Petkov
Signed-off-by: Michal Marek
07 Jan, 2015
1 commit
-
lsb_release command is a good choice to determine the distribution
name for the changelog file in the generated Debian packages [1].
Its installation is no precondition.
In Debian it is still not essential or build-essential.Ben gave some helpful informations and detailed explanations in [2].
There he also suggested to have an option to explicitly set the
distribution name (see $KDEB_CHANGELOG_DIST variable).Embedded the improvement as suggested by Thorsten (see [3]):
"This is suboptimal: if KDEB_CHANGELOG_DIST is defined,
lsb_release is not necessary. The following snippet
also omits using its output if it fails but still
produces any:"Dealing with this issue I learned about "The Colon in the Shell." and
possible pitfalls in this area (see [4,5]). Furthermore, refreshed my
knowledge about redirecting outputs with the echo command (see [5]).
Special thanks to Thorsten, I enjoyed the IRC session with you.Cooked together the snippets of Ben and Thorsten (see [2,3]).
Tested against Linux v3.19-rc2.Thanks goes to Alexander, Ben, maximilian and Thorsten for the very
vital help.[1] https://lkml.org/lkml/2012/4/23/516
[2] http://marc.info/?l=linux-kbuild&m=142022188322321&w=2
[3] http://marc.info/?l=linux-kbuild&m=142023476825460&w=2
[4] http://blog.brlink.eu/index.html#i70
[5] https://www.mirbsd.org/permalinks/wlog-10_e20141209-tg.htm
[6] http://stackoverflow.com/questions/23489934/echo-2-some-text-what-does-it-mean-in-shell-scriptingCC: Alexander Wirt
Suggested-by: Ben Hutchings
Suggested-by: Thorsten Glaser
Reviewed-by: Ben Hutchings
Acked-by: maximilian attems
[ dileks: Reviewed his suggested diff in RFC v4 ]
Reviewed-by: Thorsten Glaser
Signed-off-by: Sedat Dilek
Signed-off-by: Michal Marek
03 Jan, 2015
1 commit
-
Happy new 2015!
I have combined two patches which I had already sent to linux-kbuild ML.
Today, I prefer "builddeb" as a label for such patches.
[1] http://marc.info/?l=linux-kbuild&m=133521955904706
[2] http://marc.info/?l=linux-kbuild&m=133521955004705CC: Ben Hutchings
CC: maximilian attems
Signed-off-by: Sedat Dilek
Signed-off-by: Michal Marek
08 Dec, 2014
1 commit
-
When doing make binrpm-pkg we only want to build the binary and header
package as the documentation of binrpm-pkg target claims. Hence this
patch avoid building the source and devel package. This makes binrpm-pkg
target lot faster and way more usefull.Signed-off-by: Jérôme Glisse
Cc: Michal Marek
[mmarek: used subject line from v3]
Signed-off-by: Michal Marek
14 Oct, 2014
1 commit
-
Pull misc kbuild updates from Michal Marek:
"This is the less critical kbuild stuff for v3.18-rc1:- make deb-pkg debuginfo fix, ppc64el support and warning fix for
recent dpkg tools
- make TAGS fixes
- new coccinelle patch
- kbuild documentation improvements"* 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
deb-pkg: remove obsolete -isp option to dpkg-gencontrol
coccinelle: misc: semantic patch to delete overly complex return code processing
deb-pkg: Add support for powerpc little endian
builddeb: put the dbg files into the correct directory
scripts/tags.sh: fix DEFINE_HASHTABLE in emacs case
scripts/tags.sh: remove *PCGFLAGS regular expressions
scripts/tags.sh: Don't specify kind-spec for emacs' ctags/etags
Documentation: kbuild: Improve grammar
Documentation: kbuild: Remove obsolete dtc_cpp section
Documentation: kbuild: Improve if_changed documentation
Documentation: kbuild: Remove obsolete include/asm symlink step
07 Oct, 2014
1 commit
-
The -isp option has been deprecated, after it became the default
behaviour back in 2006.Since dpkg 1.17.11, dpkg-gencontrol emits a warning on -isp usage.
References: https://bugs.debian.org/215233
Signed-off-by: Asbjoern Sloth Toennesen
Signed-off-by: Michal Marek
12 Sep, 2014
1 commit
-
The Debian powerpc little endian architecture is called ppc64el. This
is the default architecture used by Ubuntu for powerpc.The below checks the kernel config to see if we are compiling little
endian and sets the Debian arch appropriately.Signed-off-by: Michael Neuling
Signed-off-by: Michal Marek
26 Aug, 2014
1 commit
-
Since the conversion of objtree to use relative pathnames (commit
7e1c04779e, "kbuild: Use relative path for $(objtree)"), the debug
info files have been ending up in /debian/dbgtmp/ in the regular
linux-image package instead of the debug files package. Fix up the
paths so that the debug files end up in the -dbg package.This is based on a similar patch by Darrick.
Reported-and-tested-by: "Darrick J. Wong"
Signed-off-by: Michal Marek
20 Aug, 2014
1 commit
-
The Makefiles call the respective interpreter explicitly, but this makes
it easier to use the scripts manually.Signed-off-by: Michal Marek
19 Jun, 2014
1 commit
-
The kernel headers package (linux-headers) doesn't include several
header files required to build out-of-tree modules.It makes the package unusable on e.g. ARM architecture:
/usr/src/linux-headers-3.14.0/arch/arm/include/asm/memory.h:24:25:
fatal error: mach/memory.h: No such file or directory
#include
^
compilation terminated.Signed-off-by: Fathi Boudra
Reviewed-by: Ben Hutchings
Signed-off-by: Michal Marek
18 Jun, 2014
2 commits
-
Commit 7e1c0477 (kbuild: Use relative path for $(objtree)) assumes that
the build process does not change its working directory. make tar-pkg
was a couterexample, fix this by changing directory only for the tar
command and not for the whole script, which at one point references the
now relative $(objtree).Reported-and-tested-by: "J. Bruce Fields"
Signed-off-by: Michal Marek -
When $srctree or $objtree are relative paths, we cannot change directory
and refer to them in the same subshell. Do the redirection outside of
the subshell to fix this.Reported-and-tested-by: Ilya Dryomov
Signed-off-by: Michal Marek
13 Jun, 2014
1 commit
-
Pull kbuild misc updates from Michal Marek:
"This is the non-critical part of kbuild for v3.16-rc1:
- make deb-pkg can do s390x and arm64
- new patterns in scripts/tags.sh
- scripts/tags.sh skips userspace tools' sources (which sometimes
have copies of kernel structures) and symlinks
- improvements to the objdiff tool
- two new coccinelle patches
- other minor fixes"* 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
scripts: objdiff: support directories for the augument of record command
scripts: objdiff: fix a comment
scripts: objdiff: change the extension of disassembly from .o to .dis
scripts: objdiff: improve path flexibility for record command
scripts: objdiff: remove unnecessary code
scripts: objdiff: direct error messages to stderr
scripts: objdiff: get the path to .tmp_objdiff more simply
deb-pkg: Add automatic support for s390x architecture
coccicheck: Add unneeded return variable test
kbuild: Fix a typo in documentation
kbuild: trivial - use tabs for code indent where possible
kbuild: trivial - remove trailing empty lines
coccinelle: Check for missing NULL terminators in of_device_id tables
scripts/tags.sh: ignore symlink'ed source files
scripts/tags.sh: add regular expression replacement pattern for memcg
builddeb: add arm64 in the supported architectures
builddeb: use $OBJCOPY variable instead of objcopy
scripts/tags.sh: ignore code of user space tools
scripts/tags.sh: add pattern for DEFINE_HASHTABLE
.gitignore: ignore Module.symvers in all directories
10 Jun, 2014
2 commits
-
The Debian s390x architecture has 64-bit userland whereas s390 has
32-bit userland. A 64-bit kernel can be used with either. Now that
Debian supports multiarch and officially supports s390x, it makes more
sense to assign a 64-bit kernel package to s390x.Reported-by: Stephen Powell
References: https://bugs.debian.org/750925
Signed-off-by: Ben Hutchings
Signed-off-by: Michal Marek -
Signed-off-by: Masahiro Yamada
30 Apr, 2014
1 commit
-
Signed-off-by: Masahiro Yamada
Signed-off-by: Michal Marek
24 Apr, 2014
2 commits
-
Signed-off-by: Fathi Boudra
Reviewed-by: Ben Hutchings
Signed-off-by: Michal Marek -
In cross-build environment, we expect to use the cross-compiler objcopy
instead of the host objcopy.It fixes following build failures:
objcopy --only-keep-debug lib/modules/3.14/kernel/net/ipv6/xfrm6_mode_tunnel.ko /srv/build/linux/debian/dbgtmp/usr/lib/debug/lib/modules/3.14/kernel/net/ipv6/xfrm6_mode_tunnel.ko
objcopy: Unable to recognise the format of the input file `lib/modules/3.14/kernel/net/ipv6/xfrm6_mode_tunnel.ko'Signed-off-by: Fathi Boudra
Cc: stable # 3.12+
Fixes: 810e843746b7 ('deb-pkg: split debug symbols in their own package')
Reviewed-by: Ben Hutchings
Signed-off-by: Michal Marek
04 Jan, 2014
2 commits
-
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 2The 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: 10f26fa64200 ('build, deb-pkg: select userland architecture based on UTS_MACHINE')
Signed-off-by: Ben Hutchings
Signed-off-by: Michal Marek -
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: cd8d60a20a45 ('kbuild: create linux-headers package in deb-pkg')
Reported-and-tested-by: "Niew, Sh."
Signed-off-by: Ben Hutchings
Signed-off-by: Michal Marek
02 Jan, 2014
1 commit
18 Nov, 2013
1 commit
-
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
is fixed.Signed-off-by: Ben Hutchings
Signed-off-by: Michal Marek
07 Nov, 2013
1 commit
-
When building perf out of tree:
$ make perf-tar-src-pkg
$ tar -xf perf-.tar -C /tmp
$ cd /tmp/perf
$ make -C tools/perfyou get this warning message:
make[1]: *** No rule to make target `kernelversion'. Stop.Fix it by saving the perf version in the tar file and using that for the
out of tree builds.v2: removed short form request and fixed up version string from usual output.
Signed-off-by: David Ahern
Suggested-by: Ingo Molnar
Cc: Ingo Molnar
Cc: Jiri Olsa
Cc: Namhyung Kim
Link: http://lkml.kernel.org/r/1383753335-25782-1-git-send-email-dsahern@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo
13 Sep, 2013
1 commit
-
Pull MIPS updates from Ralf Baechle:
"This has been sitting in -next for a while with no objections and all
MIPS defconfigs except one are building fine; that one platform got
broken by another patch in your tree and I'm going to submit a patch
separately.- a handful of fixes that didn't make 3.11
- a few bits of Octeon 3 support with more to come for a later
release
- platform enhancements for Octeon, ath79, Lantiq, Netlogic and
Ralink SOCs
- a GPIO driver for the Octeon
- some dusting off of the DECstation code
- the usual dose of cleanups"* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (65 commits)
MIPS: DMA: Fix BUG due to smp_processor_id() in preemptible code
MIPS: kexec: Fix random crashes while loading crashkernel
MIPS: kdump: Skip walking indirection page for crashkernels
MIPS: DECstation HRT calibration bug fixes
MIPS: Export copy_from_user_page() (needed by lustre)
MIPS: Add driver for the built-in PCI controller of the RT3883 SoC
MIPS: DMA: For BMIPS5000 cores flush region just like non-coherent R10000
MIPS: ralink: Add support for reset-controller API
MIPS: ralink: mt7620: Add cpu-feature-override header
MIPS: ralink: mt7620: Add spi clock definition
MIPS: ralink: mt7620: Add wdt clock definition
MIPS: ralink: mt7620: Improve clock frequency detection
MIPS: ralink: mt7620: This SoC has EHCI and OHCI hosts
MIPS: ralink: mt7620: Add verbose ram info
MIPS: ralink: Probe clocksources from OF
MIPS: ralink: Add support for systick timer found on newer ralink SoC
MIPS: ralink: Add support for periodic timer irq
MIPS: Netlogic: Built-in DTB for XLP2xx SoC boards
MIPS: Netlogic: Add support for USB on XLP2xx
MIPS: Netlogic: XLP2xx update for I2C controller
...
26 Aug, 2013
1 commit
-
A lot of 64-bit systems supported by Linux/MIPS have boot firmware or
bootloaders that only understand 32-bit ELF files, and as such, the vmlinux.32
target exists to support these systems. Therefore, it'd be nice if the tar-pkg
target recognised this, and included the right version when packaging up a
binary of the kernel.This updates buildtar to support MIPS targets. MIPS may use 'vmlinux'
or 'vmlinux.32' depending on the target system. This uses 'vmlinux.32'
in preference to 'vmlinux' where present (although I should check which
is newer), including either file as /boot/vmlinux-${version}.Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1673/
Signed-off-by: Ralf Baechle
16 Aug, 2013
1 commit
-
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
Cc: Ben Hutchings
Acked-by: maximilian attems
Signed-off-by: Michal Marek
24 Jul, 2013
2 commits
-
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
Reviewed-by: Ben Hutchings
Acked-by: maximilian attems
Signed-off-by: Michal Marek -
Signed-off-by: Anisse Astier
Reviewed-by: Ben Hutchings
Signed-off-by: Michal Marek