<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/pepe2k/include/kernel-build.mk, branch v21.02.6</title>
<subtitle>Staging tree of Piotr Dymacz</subtitle>
<id>https://git.openwrt.org/openwrt/staging/pepe2k/atom?h=v21.02.6</id>
<link rel='self' href='https://git.openwrt.org/openwrt/staging/pepe2k/atom?h=v21.02.6'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/'/>
<updated>2022-12-04T15:07:33Z</updated>
<entry>
<title>build: make find_md5 reproducible with AUTOREMOVE</title>
<updated>2022-12-04T15:07:33Z</updated>
<author>
<name>Christian Marangi</name>
</author>
<published>2022-09-06T14:48:37Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=360d756fbf01e0a051ff47223523deffae647afa'/>
<id>urn:sha1:360d756fbf01e0a051ff47223523deffae647afa</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.

(cherry picked from commit 53a08e37437972ba0a8fbf953a93a70a6b784ef4)
[ reworked mkhash to old implementation ]
Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&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.openwrt.org/openwrt/staging/pepe2k/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.openwrt.org/openwrt/staging/pepe2k/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.openwrt.org/openwrt/staging/pepe2k/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.openwrt.org/openwrt/staging/pepe2k/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.openwrt.org/openwrt/staging/pepe2k/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.openwrt.org/openwrt/staging/pepe2k/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.openwrt.org/openwrt/staging/pepe2k/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>
<entry>
<title>build: fix kernel_menuconfig on macOS with newer kernel versions</title>
<updated>2020-04-09T07:54:02Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2020-04-07T12:26:42Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=5c6fe8e850a74d65a94d674c92ee6147a3db92aa'/>
<id>urn:sha1:5c6fe8e850a74d65a94d674c92ee6147a3db92aa</id>
<content type='text'>
Account for upstream build system changes

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>kernel-build: ignore runtime config options during reconfig</title>
<updated>2019-11-24T13:19:43Z</updated>
<author>
<name>Petr Štetiar</name>
</author>
<published>2019-11-18T13:32:23Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=74acc160a959b50776b9012dc9122734c8a110da'/>
<id>urn:sha1:74acc160a959b50776b9012dc9122734c8a110da</id>
<content type='text'>
Don't put CC_HAS_ASM_GOTO, IS_GCC, IS_CLANG and GCC_VERSION runtime
config options into the kernel configs during reconfiguration as it
makes no sense, since these options should be set at runtime.

Fixes: FS#2588
Signed-off-by: Petr Štetiar &lt;ynezz@true.cz&gt;
</content>
</entry>
</feed>
