<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/noltari/include/kernel-build.mk, branch master</title>
<subtitle>Staging tree of Alvaro Fernandez Rojas</subtitle>
<id>https://git-03.infra.openwrt.org/openwrt/staging/noltari/atom?h=master</id>
<link rel='self' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/'/>
<updated>2022-09-30T20:26:51Z</updated>
<entry>
<title>build: make find_md5 reproducible with AUTOREMOVE</title>
<updated>2022-09-30T20:26:51Z</updated>
<author>
<name>Christian Marangi</name>
</author>
<published>2022-09-06T14:48:37Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/commit/?id=53a08e37437972ba0a8fbf953a93a70a6b784ef4'/>
<id>urn:sha1:53a08e37437972ba0a8fbf953a93a70a6b784ef4</id>
<content type='text'>
While experimenting with the AUTOREMOVE option in search of a way to use
prebuilt host tools in different buildroot, it was discovered that the
md5 generated by find_md5 in depends.mk is not reproducible.

Currently the hash is generated by the path of the file in addition to
the file mod time. Out of confusion, probably, there was an idea that
such command was used on the package build_dir. Reality is that this
command is run on the package files. (Makefile, patches, src)

This is problematic because the package Makefile (for example) change at
each git clone and base the hash on the Makefile mtime doesn't really
reflect if the Makefile actually changes across a buildroot or not.

A better approach is to generate an hash of each file and then generate
an hash on the sort hash list. This way we remove the problem of git
clone setting a wrong mtime while keeping the integrity of checking if a
file changed for the package as any change will result in a different
hash.

Introduce a new kind of find_md5 function, find_md5_reproducible that
apply this new logic and limit it only with AUTOREMOVE option set to
prevent any kind of slowdown due to additional hash generation.

Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>build: drop HOST_LOADLIBES</title>
<updated>2022-05-18T10:32:06Z</updated>
<author>
<name>Stijn Tintel</name>
</author>
<published>2022-03-29T13:28:21Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/commit/?id=b998287b9193bf74631dbb2cbfff72babd3bcd0c'/>
<id>urn:sha1:b998287b9193bf74631dbb2cbfff72babd3bcd0c</id>
<content type='text'>
HOST_LOADLIBES was renamed to KBUILD_HOSTLDLIBS in kernel 4.19. As the
oldest kernel version we support is 5.10, cleanup HOST_LOADLIBES use.

Signed-off-by: Stijn Tintel &lt;stijn@linux-ipv6.be&gt;
</content>
</entry>
<entry>
<title>generic: Kconfig: exit on unset symbol</title>
<updated>2021-08-10T11:14:52Z</updated>
<author>
<name>David Bauer</name>
</author>
<published>2021-07-22T23:32:38Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/commit/?id=eaa9c94c75748265b9260691d5f59c9d3711f7d4'/>
<id>urn:sha1:eaa9c94c75748265b9260691d5f59c9d3711f7d4</id>
<content type='text'>
When a target configuration has unser Kconfig symbols, the build will
fail when OpenWrt is compiled with V=s and stdin is connected to a tty.

In case OpenWrt is compiled without either of these preconditions, the
build will uscceed with the symbols in question being unset.

Modify the kernel configuration in a way it fails on unset symbols
regardless of the aformentioned preconditions.

Signed-off-by: David Bauer &lt;mail@david-bauer.net&gt;
</content>
</entry>
<entry>
<title>build: use SPDX license tags</title>
<updated>2021-02-05T13:54:47Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2020-09-22T02:48:37Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/commit/?id=a17b8eaa2e4b319b7069170398fe965786a813e9'/>
<id>urn:sha1:a17b8eaa2e4b319b7069170398fe965786a813e9</id>
<content type='text'>
The license folder is a core part of OpenWrt and all GPL-2.0 licensed.
Use SPDX license tags to allow machines to check licenses.

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
[rebase, keep some Copyright lines, sharpen commit message]
Signed-off-by: Adrian Schmutzler &lt;freifunk@adrianschmutzler.de&gt;
</content>
</entry>
<entry>
<title>kernel-build: fix STRIP_KERNEL_EXPORTS for 64-bit kernels</title>
<updated>2021-01-01T18:55:59Z</updated>
<author>
<name>Rui Salvaterra</name>
</author>
<published>2020-12-30T20:04:42Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/commit/?id=f3bfff9d7f85ab5f2df2728a760ddeebdb185f4c'/>
<id>urn:sha1:f3bfff9d7f85ab5f2df2728a760ddeebdb185f4c</id>
<content type='text'>
While parsing the nm output, we need to account for the fact that 64-bit kernels
have 64-bit wide addresses. While at it, replace the grep | sed combo with a
single awk invocation and a stronger regex.

Fixes: 2ef0acc5fcda557fa5aaad35d27cb8cf75be96d2 "kernel-build: fix
STRIP_KERNEL_EXPORTS for recent kernels"

Signed-off-by: Rui Salvaterra &lt;rsalvaterra@gmail.com&gt;
</content>
</entry>
<entry>
<title>build: create $(PKG_SYMVERS_DIR) if non-existent</title>
<updated>2020-11-19T17:52:15Z</updated>
<author>
<name>Sebastian Kemper</name>
</author>
<published>2020-11-18T21:58:58Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/commit/?id=2127accd441b1c979c8f3f56f3ad5264542e185a'/>
<id>urn:sha1:2127accd441b1c979c8f3f56f3ad5264542e185a</id>
<content type='text'>
Commit 5d76065 moved the creation of the symvers directory to
include/kernel-build.mk. This is fine when building from scratch. But
when unpacking an SDK the directory doesn't exist and because the kernel
won't be built (again) this directory will not be created by the build
system, causing build failure if make tries to copy files into it.

This moves the creation of the symvers directory back into
include/kernel.mk so that the directory is created in any case.

Signed-off-by: Sebastian Kemper &lt;sebastian_ml@gmx.net&gt;
</content>
</entry>
<entry>
<title>build: filter out more autogenerated kernel config options</title>
<updated>2020-11-13T12:18:20Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2020-10-20T19:36:52Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/commit/?id=a8fb12a7d62c94fd1bbda332752e0f8c794f3702'/>
<id>urn:sha1:a8fb12a7d62c94fd1bbda332752e0f8c794f3702</id>
<content type='text'>
Define wildcard patterns for filtering in target/linux/generic/config-filter
Preparation for supporting newer kernels

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>build: pass KBUILD_EXTRA_SYMBOLS with symvers files for kernel module packages</title>
<updated>2020-11-13T12:16:37Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2020-10-23T09:26:48Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/commit/?id=5d7606562940b52206712bb4bc274ad39521c3e1'/>
<id>urn:sha1:5d7606562940b52206712bb4bc274ad39521c3e1</id>
<content type='text'>
This replaces the previous (deprecated) method of collecting symvers data
in $(PKG_BUILD_DIR)/Module.symvers, which does not work on newer kernels

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>build: add 'make kernel_xconfig' command</title>
<updated>2020-07-08T14:07:05Z</updated>
<author>
<name>Sergio E. Nemirowski</name>
</author>
<published>2020-04-01T23:21:37Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/commit/?id=645b1ec3e2857769d7e4adb3bc4c2261af795115'/>
<id>urn:sha1:645b1ec3e2857769d7e4adb3bc4c2261af795115</id>
<content type='text'>
This adds the kernel_xconfig make target.

Signed-off-by: Sergio E. Nemirowski &lt;sergio@outerface.net&gt;
</content>
</entry>
<entry>
<title>build: compress kernel debuginfo using zstd</title>
<updated>2020-05-31T09:03:31Z</updated>
<author>
<name>Matthias Schiffer</name>
</author>
<published>2020-05-13T18:33:46Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/noltari/commit/?id=4bd7990488b0ca7b5cae16f0a9147a4146759053'/>
<id>urn:sha1:4bd7990488b0ca7b5cae16f0a9147a4146759053</id>
<content type='text'>
zstd with its default settings (compression level -3) compresses better
than bzip2 -9 (which is the default setting), and is an order of magnitude
faster.

I made the following measurements for the most common compression tools
(all standard Debian Buster versions, default flags unless noted
otherwise), using the debug information of a large x86-64 kernel with
ALL_KMODS:

* kernel-debug.tar: 376M
* kernel-debug.tar.gz: 101M, compressed in ~12s
* kernel-debug.tar.bz2: 91M, compressed in ~15s
* kernel-debug.tar.xz: 57M, compressed in ~101s
* kernel-debug.tar.zst: 86M, compressed in ~1s

With zstd, there is still some room for improvement by increasing the
compression, but the slight increase in compression ratio
(22.83% -&gt; 19.46%) does not justify the significant increase in
compression time (about 5 times on my machine) in my opinion.

Note that multithreaded compression (-T argument) does not affect
reproducibility with zstd.

Signed-off-by: Matthias Schiffer &lt;mschiffer@universe-factory.net&gt;
</content>
</entry>
</feed>
