<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/pepe2k/Makefile, branch v21.02.1</title>
<subtitle>Staging tree of Piotr Dymacz</subtitle>
<id>https://git.openwrt.org/openwrt/staging/pepe2k/atom?h=v21.02.1</id>
<link rel='self' href='https://git.openwrt.org/openwrt/staging/pepe2k/atom?h=v21.02.1'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/'/>
<updated>2021-03-03T22:02:30Z</updated>
<entry>
<title>Revert "build: replace which with Bash command built-in"</title>
<updated>2021-03-03T22:02:30Z</updated>
<author>
<name>Clemens Fruhwirth</name>
</author>
<published>2021-01-29T18:57:37Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=27c5db998cba4bc76b5c9dcf71120181cb813886'/>
<id>urn:sha1:27c5db998cba4bc76b5c9dcf71120181cb813886</id>
<content type='text'>
This reverts commit c7aec47e5e3a3ff7b5fdaa11cd1e62cae6746acb.

The original commit replaces 'which' with 'command'. Sadly most of
them are not equivalent and for 'which -a', there is no easy
replacements that would not reimplement PATH parsing logic. Hence
revert. Keeping a dependency on which is absolutely fine.

Signed-off-by: Clemens Fruhwirth &lt;clemens@endorphin.org&gt;
(cherry picked from commit 1f5e7224868109a170a9248d18f8d2b6124e9c5a)
</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>build: use ccache -C for cleaning the cache</title>
<updated>2021-01-07T01:31:18Z</updated>
<author>
<name>Sven Wegener</name>
</author>
<published>2021-01-01T10:46:04Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=cd5f66652bd405872fc33ca6410dc8f9b51fee09'/>
<id>urn:sha1:cd5f66652bd405872fc33ca6410dc8f9b51fee09</id>
<content type='text'>
This keeps the configuration, like the size of the cache, and the
statistics intact. Move the removal of the cache directory to the
distclean target, but only delete the .ccache directory inside of our
build tree, as we should not mess with a user-configured external ccache
directory this destructively.

Signed-off-by: Sven Wegener &lt;sven.wegener@stealer.net&gt;
</content>
</entry>
<entry>
<title>build: replace which with Bash command built-in</title>
<updated>2021-01-04T18:32:25Z</updated>
<author>
<name>Petr Štetiar</name>
</author>
<published>2020-12-22T09:33:02Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=c7aec47e5e3a3ff7b5fdaa11cd1e62cae6746acb'/>
<id>urn:sha1:c7aec47e5e3a3ff7b5fdaa11cd1e62cae6746acb</id>
<content type='text'>
`which` utility is not shipped by default for example on recent Arch
Linux and then any steps relying on its presence fails, like for example
following Python3 prereq build check:

 $ python3 --version
 Python 3.9.1

 $ make
 /bin/sh: line 1: which: command not found
 /bin/sh: line 1: which: command not found
 /bin/sh: line 1: which: command not found
 ...
 Checking 'python3'... failed.
 ...

Fix this by switching to Bash builtin `command` which should provide
same functionality.

Fixes: FS#3525
Signed-off-by: Petr Štetiar &lt;ynezz@true.cz&gt;
</content>
</entry>
<entry>
<title>build: use CCACHE_DIR for ccache directory</title>
<updated>2021-01-01T23:31:11Z</updated>
<author>
<name>Sven Wegener</name>
</author>
<published>2021-01-01T10:43:50Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=01653fe3c765c88af23de650aebff2768dbecc32'/>
<id>urn:sha1:01653fe3c765c88af23de650aebff2768dbecc32</id>
<content type='text'>
It is being set by rules.mk with the same expression.

Signed-off-by: Sven Wegener &lt;sven.wegener@stealer.net&gt;
</content>
</entry>
<entry>
<title>build: improve ccache support</title>
<updated>2020-07-11T13:19:53Z</updated>
<author>
<name>Roman Yeryomin</name>
</author>
<published>2020-06-12T18:43:46Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=2ca084ccaae619ac8031e902c66817d021ac6fd5'/>
<id>urn:sha1:2ca084ccaae619ac8031e902c66817d021ac6fd5</id>
<content type='text'>
Set CCACHE_DIR to $(TOPDIR)/.ccache and CCACHE_BASEDIR to $(TOPDIR).
This allows to do clean and dirclean. Cache hit rate for test build
after dirclean is ~65%.
If CCACHE is enabled stats are printed out at the end of building process.
CCACHE_DIR config variable allows to override default, which could be useful
when sharing cache with many builds.
cacheclean make target allows to clean the cache.

Changes from v1:
- remove ccache directory using CCACHE_DIR variable
- remove ccache leftovers from sdk and toolchain make files
- introduce CONFIG_CCACHE_DIR variable
- introduce cacheclean make target

Signed-off-by: Roman Yeryomin &lt;roman@advem.lv&gt;
</content>
</entry>
<entry>
<title>build: refactor JSON info files to `profiles.json`</title>
<updated>2020-04-03T10:17:45Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2020-03-12T22:55:41Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=07449f692ce4c4525e946401f4c3ed0cbbc8c4df'/>
<id>urn:sha1:07449f692ce4c4525e946401f4c3ed0cbbc8c4df</id>
<content type='text'>
JSON info files contain machine readable information of built profiles
and resulting images. These files were added in commit 881ed09ee6e2
("build: create JSON files containing image info").

They are useful for firmware wizards and script checking for
reproducibility.

Currently all JSON files are stored next to the built images, resulting
in up to 168 individual files for the ath79/generic target.

This patch refactors the JSON creation to store individual per image
(not per profile) files in $(BUILD_DIR)/json_info_files and create an
single overview file called `profiles.json` in the target directory.

Storing per image files and not per profile solves the problem of
parallel file writes. If a profiles sysupgrade and factory image are
finished at the same time both processes would write to the same JSON
file, resulting in randomly broken outputs.

Some target like x86/64 do not use the image code yet, resulting in
missing JSON files. If no JSON info files were created, no
`profiles.json` files is created as it would be empty anyway.

As before, this creation is enabled by default only if `BUILDBOT` is set.

Tested via buildroot &amp; ImageBuilder on ath79/generic, imx6 and x86/64.

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
[json_info_files dir handling in Make, if case refactoring]
Signed-off-by: Petr Štetiar &lt;ynezz@true.cz&gt;
</content>
</entry>
<entry>
<title>build: clean menuconfig utility as part of dirclean</title>
<updated>2020-03-10T20:44:30Z</updated>
<author>
<name>Kevin Darbyshire-Bryant</name>
</author>
<published>2020-03-10T15:13:40Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=0c4d91f121b7a3660dbf433a8a6858573a86d137'/>
<id>urn:sha1:0c4d91f121b7a3660dbf433a8a6858573a86d137</id>
<content type='text'>
When sharing a common build directory between different build platforms
eg. macos v docker based linux v virtual machine, a 'make dirclean'
isn't quite enough to clean all the platform related binaries.  The
'conf' and 'mconf' aka 'make menuconfig/defconfig &amp; friends' utilities
remain.

Clean those as part of 'dirclean' so they get rebuilt for the current
platform on the next 'make'

Signed-off-by: Kevin Darbyshire-Bryant &lt;ldir@darbyshire-bryant.me.uk&gt;
</content>
</entry>
<entry>
<title>build: add buildinfo as single Makefile target</title>
<updated>2019-10-17T12:01:33Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2019-10-13T19:53:40Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=6caf437652d858e5795ee16bdaf9f0436d2488f9'/>
<id>urn:sha1:6caf437652d858e5795ee16bdaf9f0436d2488f9</id>
<content type='text'>
The prepare target was added some 11 years ago to build tools and
toolchain and was recently extended to  create buildinfo files for
reproducibility, meaning {feeds,version,config}.buildinfo.

As the buildbot workflow is more complex than the single prepare (kmod
feed insertion), prepare is only used to create those buildinfo files.
Running prepare however runs `target/compile` as well, taking time even
everything is already compiled.

Splitting this allows the buildbot to run only the `buildinfo` target
while others can still use the convenience feature `prepare`.

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
<entry>
<title>build: fix host menu config targets using ncurses</title>
<updated>2019-09-25T10:50:24Z</updated>
<author>
<name>Petr Štetiar</name>
</author>
<published>2019-09-20T12:54:56Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=965f341aa9fdb6e07d509d02a6ca188af050292a'/>
<id>urn:sha1:965f341aa9fdb6e07d509d02a6ca188af050292a</id>
<content type='text'>
On a recent Gentoo Linux installation, invoking `make menuconfig`, `make
kernel_menuconfig` or `make kernel_nconfig` in the build system fails,
whereas for example `make menuconfig` in the kernel tree alone works as
expected.

This is happening because STAGING_PREFIX is not defined when kernel's
{menu,n}config target calls pkg-config from the toolchain/host and thus
pkg-config returns an empty value, and the fallback values in the kernel
config script are applied but those are off and the linking fails.

Solution is to use system's pkg-config for all ncurses based menu config
targets in order to provide proper compiler/linker flags.

Ref: FS#2423
Cc: Thomas Albers &lt;thomas.gameiro@gmail.com&gt;
Tested-by: Stijn Tintel &lt;stijn@linux-ipv6.be&gt;
Tested-by: Eneas U de Queiroz &lt;cotequeiroz@gmail.com&gt;
Signed-off-by: Petr Štetiar &lt;ynezz@true.cz&gt;
</content>
</entry>
</feed>
