Compare commits

..
97 Commits
Author SHA1 Message Date
Peter Korsgaard 078f99a315 Update for 2024.05.2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-14 10:54:30 +02:00
Julien Olivain ea282e0e5f support/testing: new btrfs-progs runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 14b3ca20c9)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-12 22:20:28 +02:00
Fabrice Fontaine 09cee6ad43 package/wolfssl: security bump to version 5.7.2
- Fix CVE-2024-1544, CVE-2024-5288, CVE-2024-5991 and CVE-2024-5814
- Disable option checking which is enabled by default since
  https://github.com/wolfSSL/wolfssl/commit/412447ac416ce76ba2a9bebbea8917258ed4c81e

https://github.com/wolfSSL/wolfssl/releases/tag/v5.7.2-stable

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit f13e0014a5)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-12 22:18:20 +02:00
Thomas Petazzoni 300d507c2e package/android-tools: add patches to fix build with GCC 14.x
This commit adds 3 patches that fix various implicit declarations
error that arise with GCC 14.x.

Fixes host-android-tools build issues:

 http://autobuild.buildroot.net/results/1fd0d0a9547d4ad2a24916eb79230d49a825e694
 http://autobuild.buildroot.net/results/9e3bb951d7db1c8a8725b5570c54f6dec0e8b344
 http://autobuild.buildroot.net/results/8c9345fcad6e935c13b16c318bbb27282de10ac1
 http://autobuild.buildroot.net/results/4e8a2ce69bfb8a86da2711cb32a99ad51b0bdf5f
 http://autobuild.buildroot.net/results/ca6310cfcb0a9787eb5cec3c33aab903f4964cab
 http://autobuild.buildroot.net/results/a77509d4df8281d666d870faeb008f9196d3bbc3
 http://autobuild.buildroot.net/results/74cdcbcbe8bab244b1c368260162e3cef133376f
 http://autobuild.buildroot.net/results/225b2722b030b1ea1706db8dd54d62da81d8725b

As well as android-tools build issues:

 http://autobuild.buildroot.net/results/abfaf53328d0b29c778f75e105cc7043f2ad44fe
 http://autobuild.buildroot.net/results/d2467a2ac4a915d850cc8bc2341d9803346604a9
 http://autobuild.buildroot.net/results/a4cf59ce479b7db7f0a3269c0462ce1ccc9f600e
 http://autobuild.buildroot.net/results/667a49bff45b226dec4349d54f977c8bd6abadd5
 http://autobuild.buildroot.net/results/92cf3eea0e0d7531220cd9850993e269a3a4744d

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit d201f2f5cd)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-12 17:59:12 +02:00
Yann E. MORIN 39af748ca4 utils/checkpackagelib: extend hint about unprefixed variables
User may get confused when they see the current hint, and take that as
the proper replacement, while we're only reporting the stem of the
variable name:

    .../foo.mk:16: possible typo: BLA -> *FOO*

There is usually no easy way to actually suggest the proper variable
name, though, so let's make it a little bit more obvious that we meant
the variable was improperly prefixed:

    .../foo.mk:16: possible typo, variable not properly prefixed: BLA -> *FOO_XXX*

And while at it, throw in the URL to the corresponding manual entry.

Adapt the test accordingly.

Reported-by: "Frager, Neal" <neal.frager@amd.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Ricardo Martincoski <ricardo.martincoski@datacom.com.br>
Reviewed-by: Neal Frager <neal.frager@amd.com>
[Arnout: also update new test, scoped -> prefixed]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit 5836b79762)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-12 15:07:43 +02:00
Yann E. MORIN 23e9dab58a utils/checkpackagelib: really check variable name
Currently, when a package defines an unprefixed variable, but its value
contains a properly prefixed expansion (or even just the name of a
variable), there is not error reported (e.g. with the recently fixed
composer issue):

    BASE_SITE = https://getcomposer.org/download/$(COMPOSER_VERSION)/composer.phar

The reason is that he check is done on the whole line, rather than on
the variable that is being set.

We fix that by really looking at the variable we found, instead of
looking in the whole line.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Ricardo Martincoski <ricardo.martincoski@datacom.com.br>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit b0964df557)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-12 15:07:14 +02:00
Steffen Persvold 22f476b997 package/directfb: enable on riscv32 again
Newer 32bit architectures like RISCV32 and ARC are using 64bit time_t
from the get go unlike other 32bit architectures, therefore aliasing
__NR_futex to __NR_futex_time64 avoids the build error mentioned
in cb6fd050.

Fixes:
 - http://autobuild.buildroot.org/results/c0f4168575fa85af933539441eea95a3b10dac91

Signed-off-by: Steffen Persvold <spersvold@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit a4ae412293)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-12 15:01:26 +02:00
Thomas Devoogdt ed225a0950 Revert "package/x11r7/xlib_libxshmfence: disable on riscv32"
This reverts (partial) commit
e39ad96136, and
26642e4cc0, but also fixed additional
sites where the !BR2_RISCV_32 dependency is no longer needed, thanks
to the recently added
0001-src-xshmfence_futex.h-fix-build-on-32-bit-architectu.patch in
xlib_libxshmfence.

Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit f30da3dc21)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-12 15:01:15 +02:00
Thomas Devoogdt c7d558031d package/x11r7/xlib_libxshmfence: fix build on riscv32
In preparation to revert e39ad96136,
and (partial) 26642e4cc0.

xshmfence_futex.h: In function 'sys_futex':
xshmfence_futex.h:58:24: error: 'SYS_futex' undeclared (first use in this function); did you mean 'sys_futex'?
   58 |         return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3);
      |                        ^~~~~~~~~
      |                        sys_futex

Fixes:
 - https://gitlab.com/buildroot.org/buildroot/-/commit/e39ad96136a8c340b3aea6b036024e28f14584f3

Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 36c7b1f086)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-12 15:01:08 +02:00
Heiko Thiery a70ac746fe package/llvm-project/llvm: remove overriding the ASM compiler
There was an error in the pkg-cmake infra file regarding the selection
of the ASM compiler. Now that this has been fixed, overwriting the
ASM compiler selection is no longer necessary.

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit 6384744780)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-12 13:20:26 +02:00
Heiko Thiery 65af7b6ee4 package/pkg-cmake: remove override of CMAKE_ASM_COMPILER
CMAKE_ASM_COMPILER is supposed to point to a compiler wrapper (i.e.
gcc), _not_ to as directly. If it is not set, it will use the value of
CMAKE_C_COMPILER. That's exactly what we want, so there is no need to
set CMAKE_ASM_COMPILER at all.

For target, we don't set CMAKE_ASM_COMPILER either.

Setting CMAKE_ASM_COMPILER leads to build failures for any package that
actually tries to build .S files for the host - like llvm. This is why
llvm has an override for it.

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit 22af5f2939)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-12 13:20:18 +02:00
Raphaël Mélotte d9bddddd23 support/testing: add new test for python-pymupdf
To give us a chance to catch runtime issues (such as missing
dependencies) more easily, add a test that writes a sample PDF file,
read it back and verify the text that was read.

Like similar packages that lead to a big
rootfs (e.g. python-botocore), this test requires a separate ext2
rootfs to avoid filling the default amount of RAM available
entirely (which would cause missing files from the root filesystem and
in turn, test failures).

Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 115e9493b8)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-12 11:21:01 +02:00
Thomas Petazzoni 553391da6c package/python-pymupdf: drop dependency on X.org
Now that the mandatory dependency of MuPDF on X.org, we can also drop
this dependency from python-pymupdf.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit edfa6f2978)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-12 11:19:39 +02:00
Raphaël Mélotte ff17ce6f28 package/python-pymupdf: add missing python-zlib dependency
It turns out that python-pymupdf doesn't require zlib directly, but it
does require the zlib python module.

This fixes the following runtime error:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.11/site-packages/fitz/__init__.py", line 22, in <module>
  File "/usr/lib/python3.11/site-packages/fitz/fitz.py", line 3402, in <module>
  File "/usr/lib/python3.11/gzip.py", line 9, in <module>
ModuleNotFoundError: No module named 'zlib'

Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit ba6baa019b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-12 11:19:26 +02:00
Thomas Petazzoni 1c4be6bb37 package/mupdf: make X11 support optional
The X11 support in mupdf is actually optional, and it does require
libXext in addition to libX11, so adjust the packaging accordingly.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 2c0d7b72c0)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-12 11:13:48 +02:00
Thomas Petazzoni aeced848bd package/mupdf: drop MUPDF_CFLAGS/MUPDF_LDFLAGS
Now that MUPDF_CFLAGS and MUPDF_LDFLAGS are just TARGET_CFLAGS and
TARGET_LDFLAGS, drop them.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 90f0a48467)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-12 11:13:41 +02:00
Raphaël Mélotte ef7cf58714 package/mupdf: fix building shared libraries
By default mupdf generates static libraries, shared libraries must be
enabled explicitely.

Also, when building shared libraries, mupdf's Makefile properly passes
-fPIC, so adding it manually to MUPDF_CFLAGS is not needed.

Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 401162d4a9)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-12 11:13:33 +02:00
Thomas Petazzoni 4be8ba1629 package/mupdf: drop MUPDF_PKG_CONFIG_PACKAGES
This variable might have been needed in the very distant past to help
mupdf find libraries, but mupdf's Makefile now properly uses
pkg-config to find the 5 libraries freetype2, gumbo, harfbuzz, libjpeg
and zlib, so our code has become redundant: drop it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit f7deaa1330)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-12 11:13:25 +02:00
Julien Olivain 560fb72ff4 support/testing: new xfsprogs runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit 1fb08cdc85)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-12 09:31:33 +02:00
Julien Olivain 5396f35da3 package/bitcoin: bump to version 26.2
For change log since 26.0, see:
https://bitcoincore.org/en/releases/26.1/
https://bitcoincore.org/en/releases/26.2/

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit 88ab90e309)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-12 09:08:56 +02:00
Thomas Petazzoni 58e57aff08 package/gcc: disallow Fortran on gcc 12/13 on Microblaze
The build of gcc with Fortran support is broken on gcc 12.x and gcc
13.x, it fails with:

../../../libgfortran/generated/bessel_r8.c: In function 'bessel_yn_r8':
../../../libgfortran/generated/bessel_r8.c:178:1: internal compiler error: in gen_reg_rtx, at emit-rtl.cc:1167

This issue has been fixed in gcc 14.x, which builds a Microblaze
Fortran-capable toolchain successfully.

Since we're not really interested in figuring out the commit that
fixed the problem, let's simply disallow the selection of Fortran with
gcc12/13 on Microblaze.

Fixes:

  http://autobuild.buildroot.net/results/5b4eee1d9b119c9f923f9518618f45a6482ddc85/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
(cherry picked from commit 41f2567618)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-11 21:47:36 +02:00
Thomas Petazzoni 051df65fd5 package/gdb: remove stale hashes from GDB 10.x and 11.x
In commit 809fdb3a7a ("package/gdb:
remove gdb 10.x") and
030497be18 ("package/gdb: remove support
for GDB 11.x"), we forgot to drop the no longer needed hashes from
gdb.hash. Let's do this now.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
(cherry picked from commit 538a99a33a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-11 21:42:33 +02:00
Thomas Petazzoni 77ebe1795c package/gcc: bump 12.x series to 12.4
https://gcc.gnu.org/gcc-12/changes.html describes the changes of gcc
12.4 as follows:

  This is the list of problem reports (PRs) from GCC's bug tracking
  system that are known to be fixed in the 12.4 release. This list
  might not be complete (that is, it is possible that some PRs that
  have been fixed are not listed here).

With a link to
https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=12.4

There are 654 relevant commits (ignoring the "daily bumps") between
gcc 12.3.0 and 12.4.0, which is too much to list exhaustively here.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
(cherry picked from commit b445472090)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-10 10:53:08 +02:00
Dario Binacchi 53d0a01c0b DEVELOPERS: drop duplicated libnfc entry
The patch removes one of the two occurrences of libnfc from the list of
packages managed by Simon Dawson.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 673d371cf2)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-10 10:50:32 +02:00
Waldemar Brodkorb 8a6b867568 package/squid: bump version to 6.10
The ESI feature is now disabled by default. Use --enable-esi if needed.

See here for other changes:
https://github.com/squid-cache/squid/commits/v6

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 4c1a85a87d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-10 10:47:09 +02:00
Fabrice Fontaine d3b6f8fa3c package/openssl: add and use BR2_PACKAGE_LIBRESSL_ARCH_SUPPORTS
libressl doesn't support all architectures since bump to version 3.8.2
in commit 21eca49ed5 and
https://github.com/libressl/portable/commit/b98c56fd5e86fa76eb55a98a2266a923f64f705c
https://github.com/libressl/portable/commit/71ce0b8c3e07079a40011d2f3515969e3bdf302e:

In file included from /home/autobuild/autobuild/instance-4/output-1/build/libressl-3.8.2/crypto/rc4/rc4_enc.c:61:
/home/autobuild/autobuild/instance-4/output-1/build/libressl-3.8.2/crypto/../include/openssl/rc4.h:75:9: error: unknown type name 'RC4_INT'
   75 |         RC4_INT x, y;
      |         ^~~~~~~

Fixes:
 - http://autobuild.buildroot.org/results/1f6ac121b3771ccc4b0e846c061b7002ccb63963

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 080f2d94b7)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-09 23:06:23 +02:00
Thomas Petazzoni a3ec7bb68f package/cdrkit: fix build with gcc 14.x
This commit adds a patch, which is already in Debian, fixing the build
with gcc 14.x:

/home/autobuild/autobuild/instance-7/output-1/build/host-cdrkit-1.1.11/genisoimage/genisoimage.c:1509:17: error: implicit declaration of function 'parse_checksum_algo' [-Wimplicit-function-declaration]
 1509 |             if (parse_checksum_algo(optarg, &checksum_algo_iso))
      |                 ^~~~~~~~~~~~~~~~~~~
make[3]: *** [genisoimage/CMakeFiles/genisoimage.dir/build.make:76: genisoimage/CMakeFiles/genisoimage.dir/genisoimage.o] Error 1

Fixes:

  http://autobuild.buildroot.net/results/a9cca8da22774ecafdbb382697aae71f78e348f4/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 0a0de4d86c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-09 21:35:01 +02:00
Thomas Petazzoni be5c48e20c package/cdrkit: convert first patch to Git formatted one
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 347def2fd1)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-09 21:34:48 +02:00
Thomas Petazzoni b8ec6c9b64 package/cdrkit: replace URL in Config.in
cdrkit.org no longer works, and there is no obvious homepage for this
dead project. Use the Wikipedia page as a replacement.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit aa549fb95f)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-09 21:34:17 +02:00
Michael Nosthoff 5fd4d3757c package/boost: Boost.Atomic needs atomic intrinsics
similar to previous problems with nios2 and not-available atomic ints
the build for Boost.Atomics also fails for ARC Targets which don't
have the ATOMICS_EXT flag set.

according to [0] "Boost.Atomic has a hard requirement of the native
atomic operations on bytes". The same tests mentioned there fail for
ARC without the atomic extension.

Disable BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS for BR2_arc
without BR2_ARC_ATOMIC_EXT.

Fixes:
  http://autobuild.buildroot.net/results/4ca54a85672d7b9328b1909b457e548c6032a493

[0] https://github.com/boostorg/atomic/issues/42#issuecomment-734130348

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
[Arnout: add to BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
         instead of updating all packages]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit ad71b415c1)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-09 21:33:44 +02:00
Sagi Mor db06ee93b9 toolchain/toolchain-wrapper: make gcc --help -v work correctly
make "gcc --help -v" display all the options, some packages depend on this
https://bugs.busybox.net/show_bug.cgi?id=15231

Signed-off-by: Sagi Mor <sagimor6@gmail.com>
[Arnout: move the handling to the beginning and directly call execv]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit 9954315fc5)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-09 21:28:50 +02:00
Thomas Petazzoni 8896b815f1 package/x265: fix runtime issue on ARMv6, ensure correctness on ARMv7
The build logic in source/cmake/FindNeon.cmake caused the x265 build
system to always think that the CPU supports neon: it was looking in
/proc/cpuinfo, which of course is wrong when cross-compilation, but
then the sequence of grep was interacting badly with CMake, causing
the build system to always conclude that the CPU supports NEON.

This causes runtime issues on ARMv6.

Setting -DCROSS_COMPILE_ARM=1 fixes this, as it tells the x265 build
system we are cross-compiling and it skips its bogus NEON check. So
for ARMv6, we pass -DCROSS_COMPILE_ARM=1.

But then, we still want NEON for ARMv7 processors with NEON, so this
commit adds a patch that allows to explicitly specify whether the CPU
supports NEON, in the -DCROSS_COMPILE_ARM=1 case, and we use this
option when BR2_ARM_CPU_HAS_NEON.

For those wondering why -DCROSS_COMPILE_ARM=1 is not passed for all
ARM platforms: it's because from the perspective of x265, only ARM >=
v6 is ARM: it has assembly code that needs at least ARMv6. Earlier ARM
platforms are not detected as ARM by the x265 build logic, and
therefore fallback on generic code.

This has been build-tested on:
- ARMv5: generic code is used, no assembly
- ARMv6: assembly code is used, but not with NEON support
- ARMv7 with NEON: assembly code is used, with NEON support

Reported-by: David Barbion <davidb@230ruedubac.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 1fbd26f831)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-09 21:21:11 +02:00
Thomas Petazzoni f008725ad6 package/x265: replace patch fixing gcc option
As we're about to do some other fixes in x265 ARM build, let's replace
the patch fixing gcc option by:

- A patch generated by git format-patch now that x265 upstream uses
  Git

- Is re-submitted upstream

- Only drops the flags, and does not add bogus ARM architecture
  aliases that don't exist in the CMake world.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 9d62687d00)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-09 21:20:24 +02:00
Fabrice Fontaine 177b4deb3d package/sunxi-tools: sunxi-fel needs dynamic library
Fix the following build failure raised since bump to version
1.4.2-168-ged3039c in commit 2e330dff6a:

/home/buildroot/autobuild/run/instance-1/output-1/host/lib/gcc/arm-buildroot-linux-musleabihf/12.3.0/../../../../arm-buildroot-linux-musleabihf/bin/ld: attempted static link of dynamic object `libfdt/libfdt-1.6.1.so'

Fixes:
 - http://autobuild.buildroot.org/results/6788d86c10d551b3d617e33c85083b817eb5d0b2

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit e167800979)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-09 13:39:14 +02:00
Julien Olivain c4f8ae4a1a package/octave: add optional libsndfile support
GNU Octave supports the --with-sndfile configure option since v4.0.0.

For reference, commit 40ea68b4b2 "package/octave: new package"
introduced the package at v7.1.0.

This commits adds this optional support.

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit a5ce48fe45)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-09 13:38:49 +02:00
Julien Olivain 3cf303f916 package/btrfs-progs: update Kconfig package homepage URL
The btrfs-progs homepage [1] show a banner:

    OBSOLETE CONTENT
    This wiki has been archived and the content is no longer updated.

    NOTE: this wiki is archived and not updated anymore (02/2023).
    Contents will be migrated to https://btrfs.readthedocs.io

This commit updates the URL to the new one at [2].

[1] https://btrfs.wiki.kernel.org/index.php/Main_Page
[2] https://btrfs.readthedocs.io

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 91cd948800)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-08 23:31:32 +02:00
Thomas Devoogdt 50bf83cb75 package/webkitgtk: bump to 2.44.2
A lot has been changed in 2.44.0, please consult the announcement [1], what's new [2],
and the security advisory [3] for more details.

Specific to this bump:

 - Libegl is now mandatory [4] and the USE_OPENGL_OR_ES flag has been dropped.
   While at it, also explicitly add the libepoxy dependency which is now selected
   by libgtk3.

 - The WPE renderer has been dropped [2], so drop the wpebackend-fdo dependency.

 - JPEG2000 has been dropped [2], so drop the OpenJPEG dependency.

 - GTK4 is now the default, so turn it off, since buildroot has no GTK4 support
   yet [2].

 - USE_LIBBACKTRACE has been added [5], so select it properly.

 - Support for ENABLE_WEB_CODECS has been added, which will now be enabled
   together with audio and video support.

 - ENABLE_WEBASSEMBLY is forbidden when ENABLE_C_LOOP [6], so disable it when
   compiling for MIPS r6, ARMv5, and ARMv6.

In the meantime, a follow-up 2.44.1 and 2.44.2 release has been announced [7][8],
which contains a bunch of patches that were accepted upstream. Including build
fixes for 32-bit devices, and disabling video.

[1]: https://webkitgtk.org/2024/03/16/webkitgtk2.44.0-released.html
[2]: https://webkitgtk.org/2024/03/27/webkigit-2.44.html
[3]: https://webkitgtk.org/security/WSA-2024-0002.html
[4]: https://commits.webkit.org/271345@main
[5]: https://commits.webkit.org/268579@main
[6]: https://commits.webkit.org/271347@main
[7]: https://webkitgtk.org/2024/04/09/webkitgtk2.44.1-released.html
[8]: https://webkitgtk.org/2024/05/16/webkitgtk2.44.2-released.html

Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
Acked-by: Adrian Perez de Castro <aperez@igalia.com>
Tested-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit d5ff56ef06)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-08 21:30:24 +02:00
Thomas Petazzoni 09766aab58 package/uvw: bump to 3.4.0
This allows uvw to be again in sync with the libuv package, following
the bump of libuv to v1.48 in commit
bd2f99246c ("package/libuv: security
bump to version 1.48")

The hash of the license file has changed due to a copyright year
update.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit c54134bf69)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-08 14:01:21 +02:00
Christian Stewart 886cdf6c91 package/go: security bump version to go1.22.5
Fixes CVE:

CVE-2024-24791: net/http: denial of service due to improper 100-continue handling

https://go.dev/doc/devel/release#go1.22.5

Signed-off-by: Christian Stewart <christian@aperture.us>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 5d02277884)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-07 23:10:21 +02:00
Julien Olivain abf5e2571d package/fwts: fix build with host make >= 4.4
When build host has a many CPUs (more that 20) and GNU Make 4.4
(included for example in Fedora 40), fwts can randomly fail to build.

This commit adds a package patch to fix the issue.

Fixes:

    mv: cannot stat 'dtcompilerparser.tab.c': No such file or directory
    mv: cannot stat 'prparser.tab.c': No such file or directory

See also:
https://github.com/fwts/fwts/issues/7

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit f6d9fa3692)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-07 22:17:10 +02:00
James Hilliard 5703b1a03e package/systemd: enable required oomd kernel options
In order for systemd-oomd to run CONFIG_PSI and CONFIG_MEMCG must be
enabled in the kernel config.

See:
https://github.com/systemd/systemd/commit/e7b3f1a6c358dd3eaf0b50547bd52130ad4126ae
https://github.com/systemd/systemd/commit/aa329b89223a79793cde8288b1bc6e93db174938

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
(cherry picked from commit be5f14657a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-07 22:14:06 +02:00
Thomas Petazzoni e0cb58f1ca package/check: fix build on noMMU configurations
check was failing to build on noMMU configurations due to mistake in
the build conditionals of the code around the HAVE_FORK macro. This
commit brings a patch, submitted upstream, that fixes those issues.

Fixes:

  http://autobuild.buildroot.net/results/1509108aa111da706d544eb67e1ae2c2b34bd4e4/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit d10bee4201)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-07 10:58:38 +02:00
Thomas Petazzoni 6a3872661c package/check: don't build shared lib when disabled
The build system of check was unconditionally building a shared
library, even when BUILD_SHARED_LIBS=OFF. This commit brings a patch,
submitted upstream, which fixes this issue, and allows to fix the
build in BR2_STATIC_LIBS=y configurations.

Fixes:

  http://autobuild.buildroot.net/results/d4a1c6d49dd15ce6b73cfade2557d49733e9318b/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 526b89b981)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-07 10:58:33 +02:00
Fabrice Fontaine 92b84583f6 package/libarchive: add bsdunzip option
Add bsdunzip option to avoid the following build failure raised since
bump to version 3.7.1 in commit 7991d2c48a and
https://github.com/libarchive/libarchive/commit/c157e4ce8eb170a92945cc2d292fd7106bdfcce1:

  CCLD     bsdunzip
/home/autobuild/autobuild/instance-4/output-1/host/lib/gcc/powerpc-buildroot-linux-musl/12.3.0/../../../../powerpc-buildroot-linux-musl/bin/ld: cannot find -lz: No such file or directory

By handling it explicitly, we can specify whether the dynamic or static
library should be used, according to what we actually have available.

Fixes:
 - http://autobuild.buildroot.org/results/aaf7fdefa0b7bd7e5ac743487c197544c1a2ce6f

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Tested-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit bbc08b15ae)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-07 10:57:46 +02:00
Bernd Kuhls cb131ede84 package/pkg-generic.mk: remove double colon in .stamp_built
This issue was introduced back in 2009 with commit
e11fe847b2 that created the generic
package infrastructure.

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit bd0d5498ea)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-07 10:53:46 +02:00
Waldemar Brodkorb ea84f13bb0 package/tcf-agent: fix uClibc-ng compile on ARM
When a shared build is used, we can use getauxval and no ARM only
instuctions are in use.

When a static build is used, we need to override CFLAGS to use
arm instructions, as uClibc-ng only supports getauxval for shared case.

Fixes:
 - http://autobuild.buildroot.net/results/3b5/3b5c5519a3e5ee490308bc1a1b9579ce13417235

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit 408352207c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-07 10:52:18 +02:00
Waldemar Brodkorb fffc83c54a package/ntpsec: fix compile issue for some toolchains
Ntpsec unconditionally uses PIE to compile code.
This breaks compilation for at least microblaze-uclibc and
m68k-uclibc toolchains.

Also in Buildroot context, PIE should anyway be governed by BR2_PIC_PIE.

It would be better to add a configure option to allow to disable pie
support, but this is something for a waf expert.

Fixes:
 - http://autobuild.buildroot.net/results/77f/77f4e4065874d022a2ae98d82508242f551e224c
 - http://autobuild.buildroot.net/results/e45/e45b65f2aa323df075d54ff43b0401b5ac7c6eb5

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit a532772468)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-07 10:50:25 +02:00
Julien Olivain 8d5845211f package/xvisor: fix RISC-V hang when BR2_SHARED_LIBS=y
When BR2_SHARED_LIBS=y (shared libraries only) and BR2_PIC_PIE=y
(Build code with PIC/PIE), the toolchain-wrapper will try to enable
position-independent code/executables. See [1]. This configuration
is a common default.

Xvisor was likely tested only with RISC-V gcc from [2], which will
not enable PIE by default. Since Xvisor is a Type 1 hypervisor, it
needs the same kind of special treatment as U-Boot or Kernel.

This commit adds a patch to explicitly force static linking and
disable PIE for RISC-V architecture.

[1] https://git.buildroot.org/buildroot/tree/toolchain/toolchain-wrapper.c?h=2023.05.1#n392
[2] https://github.com/riscv-collab/riscv-gnu-toolchain

Signed-off-by: Julien Olivain <ju.o@free.fr>
[Arnout: renumber patch]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit 28925c6c86)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-07 10:47:42 +02:00
Julien Olivain 8e63d76db9 package/kexec: fix link error when BR2_OPTIMIZE_0=y
When BR2_OPTIMIZE_0, -O0 is passed in compiler CFLAGS. This means no
code optimization will be performed.

kexec code uses a trick to detect unaligned accesses at link time
which needs at least dead-code-removal to work. See
put/get_unaligned() macros in kexec/kexec.h. This code was re-enabled
in upstream commit [1].

This commit sets at least -O1 (which include the sufficient
dead-code-removal) when BR2_OPTIMIZE_0=y, to fix those issues.

Fixes:
- http://autobuild.buildroot.org/results/8f8/8f8532f1dfbd71e52c51c00118934af9fa45e7cb
- http://autobuild.buildroot.org/results/528/528fd7baf9b0ad5549d22ec8e0623c5fa1f2d117
- http://autobuild.buildroot.org/results/499/499115439680adfb4b40042468e5bbb65d91ce6c
- ...and many others

[1] https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=0723defb5308ac7fce296f8b596bff4df6803f01

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit a411588b58)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-07 00:44:01 +02:00
Thomas Petazzoni 7b148d9d25 package/pppd: add patch fixing build issue on SPARC/SPARC64
Integrate a patch, which was submitted upstream, to work-around an
issue with the SPARC kernel headers. The kernel headers have been
fixed in the upstream kernel (in the to-be-released 6.10 kernel), but
we need a workaround for the older toolchains, until we believe 6.10
is "old" enough to be able to drop the workaround.

Fixes:

  http://autobuild.buildroot.net/results/272c464ed4f9392535fa3b7613218dbd03acf901/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit b162aab7c6)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-07 00:40:52 +02:00
Arnout Vandecappelle 362af615cd docs/manual: normalize delimiters of listing blocks
Although the asciidoc toolchain accepts any number of ~ to delimit a
listing block (i.e. a code block), it is actually specified to be
exactly four, i.e. ~~~~. Currently, a mix of diffrent numbers of ~ are
being used - sometimes even a different number at the beginning and at
the end of the block.

Normalize this to always use exactly four ~ for the delimiter.

Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit 447fa1fca4)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-07 00:39:44 +02:00
Ricardo Martincoski 26db1f8ef5 docs/manual: standardize references to the generic infra
Currently the text for each package infra that mentions the usage of
variables already provided by the generic infra diverge from each other:
- some (golang, kconfig, python) add a cross-referece to the generic
  infra chapter;
- kconfig does not list any example;
- some mention _LICENSE as an example, others don't;
- some (cargo, golang, python) add an 'etc.' at the end of the examples,
  giving the idea that can be more symbols provided by the generic
  infra than the ones listed;
- most have the text 'works by defining a number of variables before
  calling the +<macro-name>+ macro', except golang and kconfig;
- some actually list 'A few additional variables' but keep using some
  old reference as 'An additional variable';
- some say 'First, all the package metadata' and other only 'All the
  package metadata';
- most mention _SUBDIR as an example of variable supported by the
  generic infra, even the generic infra manual not mentioning it.

Improve the correctness for the manual by standardizing the text among
the package infras:
- use the same text "All the package metadata information variables that
  exist in the generic package infrastructure also exist in the
  <name> infrastructure:" for all of them;
- add the cross-reference for all of them;
- remove the examples of variables inherited from the generic infra -
  this also solves the _SUBDIR problem, there no longer is any reference
  to _SUBDIR;
- wrap the modified text at 80 columns;
- add "macro" to golang and luarocks infra;
- use "A few additional variables" for qmake and waf.

At same time, add a missing format on golang manual for
BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS.

Cc: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Cc: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
[Arnout:
 - remove the examples;
 - add "the" where "macro" was added;
 - rewrite the preceding paragraphs for kconfig to make it more
   consistent.
]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit 4286c89f9d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-07 00:37:53 +02:00
Ricardo Martincoski 6c6f6eb44a utils/check-package: check linux-tools
Each linux tool uses a fragment of a .mk file, named, for instance:
package/linux-tools/linux-tool-cpupower.mk.in
So currently check-package does not check these files.

Add the support in check-package script.
At the same time, factor out a function to derive package prefix from
the filename being checked, so the fix (calling os.path.splitext twice)
can be applied in a single place.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
[Arnout: add docstring and explain double splitext to
         get_package_prefix_from_filename]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit ccc12c0f24)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-07 00:37:22 +02:00
Ricardo Martincoski 65fc31a8ec utils/check-package: fix check for <pkg>_REDISTRIBUTE
Commit "8e87d76c12 check-package: check *.mk files" added a typo that
prevents check-package from checking <PKG>_REDISTRIBUTE default value.

Fix the typo: _INSTALL_REDISTRIBUTE -> _REDISTRIBUTE

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit cca315f814)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-07 00:31:11 +02:00
Thomas Huth 3127d74ff6 package/frotz: fix build with gcc 14
Change -std=c99 into -std=gnu99 in the CFLAGS to avoid the following
build failure with gcc 14:

fastmem.c: In function 'z_restore':
fastmem.c:842:36: error: implicit declaration of function 'strdup'; did you mean 'strcmp'? [-Wimplicit-function-declaration]
  842 |                 f_setup.aux_name = strdup(default_name);
      |                                    ^~~~~~
      |                                    strcmp

Fixes:
 - http://autobuild.buildroot.org/results/df3b3b98265ec3a75578614746b2d1426c90e125

Reported-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Huth <huth@tuxfamily.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 1b01c3c333)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-07 00:15:33 +02:00
Fabrice Fontaine b506012134 package/gpm: fix musl build with gcc 14
Fix the following musl build failure with gcc 14:

daemon/old_main.c: In function 'old_main':
daemon/old_main.c:56:11: error: implicit declaration of function 'strcmp' [-Wimplicit-function-declaration]
   56 |       if(!strcmp((which_mouse->opt_dev),"-")) fd=0; /* use stdin */
      |           ^~~~~~
daemon/old_main.c:35:1: note: include '<string.h>' or provide a declaration of 'strcmp'
   34 | #include "headers/gpmInt.h"         /* daemon internals */
  +++ |+#include <string.h>
   35 |

While at it, add Upstream tags to other patches

Fixes:
 - http://autobuild.buildroot.org/results/3192740863d57e72e90e622683e7b9fcc057fa8b

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 50b18ed68c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-07 00:12:11 +02:00
Dario Binacchi 9a118c7664 package/gpm: update the patches to be applied with fuzz 0
Commit 8f88a644ed ("support/scripts/apply-patches.sh: set the maximum
fuzz factor to 0") reduced the fuzz factor.

Due to this change, gpm fails to build with output:

    Applying 0003-src-Makefile.in-Really-install-unversioned-solibrary.patch using patch:
    patching file src/Makefile.in
    Hunk #1 FAILED at 115.
    1 out of 1 hunk FAILED -- saving rejects to file src/Makefile.in.rej

This commit refreshes the package patch on the current package version.

While we're at it, change to use a proper Upstream: tag and remove from
.checkpackageignore.

Fixes: 8f88a644ed
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit d47ae17adf)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-07 00:12:04 +02:00
Marcus Hoffmann 50b13c9f86 package/nodejs: bump to 20.12.0
Release Notes: https://nodejs.org/en/blog/release/v20.12.0

LICENSE hash changed due to changes in vendored components:

* copyright year updates [1][2]
* version name update [3]
* change from "Unicode, Inc. License - Data Files and Software"
  to the "Unicode License v3" [4]. This is in the icu vendored
  dependency which is unused in buildroot.
* new build tooling script [5] under BSD style license

NodeJS tests are passing:

$ ./utils/docker-run ./support/testing/run-tests -o ./outputs/ -k tests.package.test_nodejs
13:40:05 TestNodeJSModuleHostSrc                  Starting
13:40:06 TestNodeJSModuleHostSrc                  Building
14:05:52 TestNodeJSModuleHostSrc                  Building done
14:06:02 TestNodeJSModuleHostSrc                  Cleaning up
.14:06:02 TestNodeJSModuleHostBin                  Starting
14:06:03 TestNodeJSModuleHostBin                  Building
14:24:25 TestNodeJSModuleHostBin                  Building done
14:24:31 TestNodeJSModuleHostBin                  Cleaning up
.14:24:31 TestNodeJSBasic                          Starting
14:24:32 TestNodeJSBasic                          Building
14:42:53 TestNodeJSBasic                          Building done
14:43:02 TestNodeJSBasic                          Cleaning up
.
----------------------------------------------------------------------
Ran 3 tests in 3776.679s

OK

[1] https://github.com/nodejs/node/commit/347e1dd06a5f927d9fd64ce72d776c56d5101910
[2] https://github.com/nodejs/node/commit/b88170d602791fa62fc45ac80ca9953bc1bdd25b
[3] https://github.com/nodejs/node/commit/c8233912e9fd7464898b549d6762130722bf0bf4
[4] https://github.com/nodejs/node/commit/625fd69b76b5a8f59152f803b31941c8986d924b
[5] https://github.com/nodejs/node/commit/b5bc597871ca701bab750c46d31ed626decd7f89

Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit e86fa6bdb4)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-06 17:57:45 +02:00
Julien Olivain 6c995cb48e support/testing: add mosquitto runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 3ba6f800fd)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-01 12:58:09 +02:00
Angelo Compagnucci cf9b5e669c package/fail2ban: fix data_files installation path
When packaging data_files in a wheel, those files shall have the destination
path expressed as relative to the wheel installation.
The reason for that is the wheel installation shall be contained inside a
specific folder and/or in site-packages.
When building the wheel file by the bdist_wheel command, python will package
files with absolute paths as python files ending up installing them in
site-packages.

Fixes:
http://autobuild.buildroot.net/results/36ac5278d19195a21c3d02d087965e08f49228ef

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Tested-by: Fiona Klute <fiona.klute+wiwa@gmx.de>
[Arnout: add Upstream tag to the patch]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit c90b87156d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-01 12:48:39 +02:00
Angelo Compagnucci ec0bad566a package/pkg-python: fix pep517 data files installation
When installing a wheel in pep517 compatibility mode, the pyinstaller.py is
invoked with the --data parameter which point to the directory in which data
files should be installed.
Actually the --data parameter points to the /usr subdirectory which is indeed
wrong cause it shall point to the root directory where the wheel will be
installed.
This fixes the problem of having configuration files installed in /usr/etc
instead of /etc.

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Tested-by: Fiona Klute <fiona.klute+wiwa@gmx.de>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit 98f452f974)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-01 12:48:29 +02:00
Yann E. MORIN 0cab1602a0 package/bcc: add missing dependencies to comment
Since its inception in 146498d13c (package/bcc: new package), not all
the dependencies of bcc are mirrored in the comment to be displayed when
those dependencies are not met.

Fix that by adding the missing pieces:
  - wchar,
  - threads
  - dynamic libs,

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Jugurtha BELKALEM <jugurtha.belkalem@smile.fr>
Cc: Romain Naour <romain.naour@gmail.com>
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 76051e6531)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-31 18:53:46 +02:00
Peter Korsgaard 47c331f0da package/dump1090: fix build with GCC 14
Fixes http://autobuild.buildroot.net/results/1d5804974153f96e80f5200793ec8cd12c9fa18a/

GCC 14 complains if the arguments to calloc (nmemb, size) are swapped
around, causing a build failure as dump1090 builds with -Werror:

net_io.c:107:34: error: 'calloc' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Werror=calloc-transposed-args]
  107 |     if (!(service = calloc(sizeof(*service), 1))) {

Add a patch from an upstream pull request to fix that.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit fd358b97c0)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-31 18:53:14 +02:00
Arnout Vandecappelle 629869f2dd .checkpackageignore: remove chromebook check-hash exceptions
Commits 3988f2d923 and
0d91281d7b added hashes for the chromebook
defconfigs, but forgot to remove the exception from .checkpackageignore.

Regenerate .checkpackageignore, which removes those exceptions.

Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit 5e36efd7ac)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-31 18:45:50 +02:00
Dario Binacchi 0eb1ea8cb5 configs/stm32mp157a_dk1: add hashes
The patch adds .hash files for Arm trusted firmware, Linux, Linux headers
and U-Boot and then enables BR2_DOWNLOAD_FORCE_CHECK_HASHES. With this, we
can now drop the defconfig from .checkpackageignore.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 751228436a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-31 18:44:31 +02:00
Alexis Lothoré b72162e806 package/qt5/qt5webkit: fix WebCore compatibility issue with updated libxml2
qt5webkit build currently breaks on the following error:

XSLStyleSheetLibxslt.cpp:148:129: error: invalid conversion from ‘void (*)(void*, xmlError*)’ {aka ‘void (*)(void*, _xmlError*)’} to ‘xmlStructuredErrorFunc’ {aka ‘void (*)(void*, const _xmlError*)’} [-fpermissive]
  148 |     XMLDocumentParserScope scope(cachedResourceLoader(), XSLTProcessor::genericErrorFunc, XSLTProcessor::parseErrorFunc, console);
      |                                                                                                                                 ^
      |                                                                                                                                 |
      |                                                                                                                                 void (*)(void*, xmlError*) {aka void (*)(void*, _xmlError*)}

This error is due to an API update in libxml2, enforcing const on more
struct in version 2.12.0 (see [1]). Buildroot now tracks v2.12.5.
Upstream Webkit project has already issued the corresponding fix ([2]),
which updates corresponding internal prototypes depending on libxml2
version, but the qt5webkit version tracked in buildroot does not integrate
the corresponding Webkit version.

Fix this build issue by bringing the upstream patch "as is" from Webkit

No autobuilder references because this build error was hidden by
another build error fixed in a previous patch.

[1] https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.12.0
[2] https://github.com/WebKit/WebKit/commit/1bad176b2496579d760852c80cff3ad9fb7c3a4b

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit e24a117388)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-31 18:31:55 +02:00
Alexis Lothoré 4ec45eda0e package/qt5/qt5webkit: fix JavaScriptCore parser error
qt5webkit build currently fails with the following error:

[...] parser.rb:587:in `block in parseSequence': undefined method `=~' for an instance of Annotation (NoMethodError)
  from <internal:kernel>:187:in `loop'
  from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:586:in `parseSequence'
  from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:654:in `block in parseSequence'
  from <internal:kernel>:187:in `loop'
  from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:586:in `parseSequence'
  from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:814:in `parseData'
  from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:818:in `parse'
  from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:780:in `block in parseSequence'
  from <internal:kernel>:187:in `loop'
  from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:586:in `parseSequence'
  from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:625:in `block in parseSequence'
  from <internal:kernel>:187:in `loop'
  from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:586:in `parseSequence'
  from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:814:in `parseData'
  from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:818:in `parse'
  from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb:68:in `<main>'

This issue is due to =~ being marked as deprecated since a few Ruby
versions, and finally removed in 3.2.0 [1]. This now breaks the build since
buildroot has moved to Ruby v3.3.0.
The corresponding fix has already been issued in upstream Webkit project
[2], but qt5webkit version tracked in buildroot does not have the
corresponding webkit version pulled. Fix this build error by bringing the upstream
patch. The patch is slightly modified (exclude part about Changelog file,
which is absent from qt5webkit)

Fixes:

  http://autobuild.buildroot.net/results/21397b110fe02e5711ecb1d35be2108221751b0a/

[1] https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/
[2] https://github.com/WebKit/WebKit/commit/c7d19a492d97f9282a546831beb918e03315f6ef

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 51ef6691ac)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-31 18:31:25 +02:00
Dario Binacchi 0aa7967565 package/qt5/qt5webkit: fix patch fuzz
Commit 8f88a644ed ("support/scripts/apply-patches.sh: set the maximum
fuzz factor to 0") reduced the fuzz factor.

Due to this change, qt5webkit fails to build with output:

    Applying 0004-Remove-invalid-g_object-declarations-to-fix-build-wi.patch using patch:
    patching file Source/WTF/wtf/glib/GRefPtr.h
    Hunk #1 FAILED at 29.
    1 out of 1 hunk FAILED -- saving rejects to file Source/WTF/wtf/glib/GRefPtr.h.rej

This commit refreshes the package patch on the current package version.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 6d0cce7dab)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-31 18:31:09 +02:00
Marcus Hoffmann 648478ee85 support/testing: add new python-ruamel-yaml runtime test
Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 21da0df09d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-31 17:25:15 +02:00
Marcus Hoffmann 6c8122b48c package/python-ruamel-yaml: fix comment in hash file
Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 9fb8f2e10c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-28 13:06:48 +02:00
Giulio Benetti 157647502d package/rtl8188eu: bump to 2024-02-06 version on v5.2.2.4 branch
This version allows to build with Linux 6.8

Fixes:

  http://autobuild.buildroot.net/results/c2524c7580d97f7387ec22da62be71d77f2ed8ec

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 20a6d583bd)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-28 13:05:28 +02:00
Yann E. MORIN 175cac0f5f utils/genrandconfig: stop passing --passive-ftp to wget
Since there are no more packages using FTP-hosted files, we can drop
the --passive-ftp option from genrandconfig, as it would cause
problems on systems that use wget2.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 881a8f1346)
[Peter: slightly reword commit message, no curl backend here]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-28 12:59:57 +02:00
Fabrice Fontaine 8beba85f71 package/util-linux: fix build with uclibc-ng < 1.0.39
Fix the following build failure with uclibc-ng < 1.0.39 (i.e., without
https://github.com/wbx-github/uclibc-ng/commit/85ac4f04d94e98389a8315e720630d0f95bfdfd6)
raised since bump to version 2.39 in commit
ad276d94a3 and
https://github.com/util-linux/util-linux/commit/03a254f010b08da1175f50a8ae7882e59228f1b4:

sys-utils/setarch.c:106:7: error: 'PER_LINUX32_3GB' undeclared here (not in a function); did you mean 'PER_LINUX32'?
  106 |     X(PER_LINUX32_3GB) \
      |       ^~~~~~~~~~~~~~~

Fixes: ad276d94a3
 - http://autobuild.buildroot.org/results/fb1feb47f2660882fa53f66bacc63e191fd52175

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 51f753710d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-28 12:50:44 +02:00
Yann E. MORIN c96b51be73 boards/chromebook-elm: force checking hashes
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Bilal Wasim <bilalwasim676@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit 3988f2d923)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-28 12:39:28 +02:00
Yann E. MORIN 3432be2df1 board/chromebook-snow: force checking hashes
The chromebook-snow config uses a custom kernel version, so add a hash
for it.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Alex Suykov <alex.suykov@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit 0d91281d7b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-28 12:39:15 +02:00
Yann E. MORIN 7857868d00 board/chromebook: use global-patch-dir for kernel patch
We're going to add hashes soon, so we'll need to have that directory
populated with hash files, and it would then be a bit confusing to not
have the patch file in the patches directory...

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Alex Suykov <alex.suykov@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit 552a8cec8c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-28 12:39:09 +02:00
Julien Olivain d7696a82fb package/ed: bump to version 1.20.2
See release announce:
https://lists.gnu.org/archive/html/bug-ed/2024-04/msg00003.html

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 55235919f8)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-28 12:23:41 +02:00
Yegor Yefremov a02c8e337e package/ncftp: fix GCC 14.x related build errors
Patches were taken from Gentoo:

https://bugs.gentoo.org/921487
https://gitweb.gentoo.org/repo/gentoo.git/tree/net-ftp/ncftp/files/ncftp-3.2.7-fix-clang.patch

Fixes:
http://autobuild.buildroot.net/results/058578eae885ce6e206c25b5a24aa11b625adf88/

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit b2aa09a492)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-28 12:19:53 +02:00
Yegor Yefremov 4aed830703 package/ncftp: bump to version 3.2.7
Change download location as the new version is not available at the
old location.

Remove already upstreamed patch.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 0deb8c4c5d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-28 12:19:43 +02:00
Jarkko Sakkinen 58781773ec package/systemd: fix build with recent kernels
Backport a patch from upstream that adds the magic number for the
bcachefs superblock. Otherwise, systemd 254.13 fails to compile with
the latest kernel versions.

Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit f3c1f667dc)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-28 12:13:56 +02:00
Yegor Yefremov 3918d46a26 package/tftpd: bump to latest git commit
Fixes the following error when compiled against GCC 14.x:

tftp.c: In function ‘tftp_sendfile’:
tftp.c:88:5: error: implicit declaration of function ‘bsd_signal’; did
you mean ‘ssignal’? [-Wimplicit-function-declaration]
   88 |     bsd_signal(SIGALRM, timer);
      |     ^~~~~~~~~~
      |     ssignal
tftp.c:88:5: warning: nested extern declaration of ‘bsd_signal’ [-Wnested-externs]
main.c: In function ‘main’:
main.c:308:5: error: implicit declaration of function ‘bsd_signal’;
did you mean ‘ssignal’? [-Wimplicit-function-declaration]
  308 |     bsd_signal(SIGINT, intr);
      |     ^~~~~~~~~~
      |     ssignal
main.c:308:5: warning: nested extern declaration of ‘bsd_signal’ [-Wnested-externs]

Remove an upstreamed patch.

tftpd/tftpd.c has changed, hence, change its checksum.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit ee2b57e0c9)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-28 12:10:43 +02:00
Jan Havran fc0499a23c package/ubus: remove obsolete systemd option
ENABLE_SYSTEMD option has been removed from ubus by upstream commit:

  96ab0b3032f5 ubusd: remove systemd socket activation support

From a Buildroot perspective, this means that this systemd socket
activation feature no longer exists since Buildroot commit
130be80d34 ("ubus: bump version"), as we
bumped ubus from 259450f414d8c9ee41896e8e6d6bc57ec00e2b63 to
34c6e818e431cc53478a0f7c7c1eca07d194d692 in this commit, and the
96ab0b3032f5 ("ubusd: remove systemd socket activation support")
commit is in this range. It was therefore dropped upstream in 2016,
and in Buildroot in 2017.

Signed-off-by: Jan Havran <havran.jan@email.cz>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 60c8807c69)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-28 12:04:59 +02:00
Alexander Wellbrock 8d9f064080 package/c-ares: update site url
Download URLs changed after hosting of the c-ares website changed
ownership:
https://daniel.haxx.se/blog/2024/06/06/bye-bye-hosting-c-ares-web/

This cannot be fixed upstream as github pages does not support .htaccess
files according to:
https://github.com/c-ares/c-ares.github.io/issues/2

Signed-off-by: Alexander Wellbrock <a.wellbrock@mailbox.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit b57f48e131)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-28 12:03:25 +02:00
Dario Binacchi c9089fb964 package/snappy: fix compilation error raised by vqtbl1q_u8 instruction
The package compilation for the raspberrypi3_qt5we_defconfig raises the
following error:

In file included from buildroot/output/build/snappy-1.1.10/snappy.cc:29:
buildroot/output/build/snappy-1.2.1/snappy-internal.h: In function ‘snappy::internal::V128 snappy::internal::V128_Shuffle(V128, V128)’:
buildroot/output/build/snappy-1.2.1/snappy-internal.h:109:10: error: ‘vqtbl1q_u8’ was not declared in this scope; did you mean ‘vtbl1_u8’?
  109 |   return vqtbl1q_u8(input, shuffle_mask);
      |          ^~~~~~~~~~
      |          vtbl1_u8
make[4]: *** [CMakeFiles/snappy.dir/build.make:118: CMakeFiles/snappy.dir/snappy.cc.o] Error 1

The issue was raised by commit b3fb0b5b4b076 ("Enable vector byte
shuffle optimizations on ARM NEON") contained in version 1.1.10.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 01f35f8875)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-28 11:58:24 +02:00
Maxim Kochetkov 2b0c3604a4 package/libgeos: bump version to 3.12.2
Changelog: https://github.com/libgeos/geos/releases/tag/3.12.2

Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 5777bfc0f7)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-28 11:54:29 +02:00
Julien Olivain 6d6e9fb45f support/testing: add kmod runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 48790b4329)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-28 09:26:15 +02:00
Gero Schwäricke ffe46c6646 board/ti/am64x-sk: update custom hashes
Commit
7efd75867c ("configs/ti_am64x_sk_defconfig:
update U-Boot to v2024.04") updated U-Boot and the ti-k3-r5-loader to
2024.04, but did not update the hash files in board/ti/am62x-sk/. It
ended up working for now, because the official versions of boot/uboot
and boot/ti-k3-r5-loader/ also use 2024.04 and therefore have this
hash, but it would have started failing as soon as boot/uboot and/or
boot/ti-k3-r5-loader official version were updated.

Signed-off-by: Gero Schwäricke <gero.schwaericke@grandcentrix.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 5654eca137)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-28 09:21:38 +02:00
Gero Schwäricke dbcdebb679 board/ti/am62x-sk: update custom hashes
Commit
cc2910a7db ("configs/ti_am62x_sk_defconfig:
update U-Boot to v2024.04") updated U-Boot and the ti-k3-r5-loader to
2024.04, but did not update the hash files in board/ti/am62x-sk/. It
ended up working for now, because the official versions of boot/uboot
and boot/ti-k3-r5-loader/ also use 2024.04 and therefore have this
hash, but it would have started failing as soon as boot/uboot and/or
boot/ti-k3-r5-loader official version were updated.

Signed-off-by: Gero Schwäricke <gero.schwaericke@grandcentrix.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 3da51c9180)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-28 09:16:47 +02:00
Lance Fredrickson f42ca9644a boot/syslinux: fix building with GCC 14.x
Add missing stdio.h include. Without this includes, the build fails
with the following error under GCC 14.x:

../../../com32/lib/syslinux/debug.c: In function ‘syslinux_debug’:
../../../com32/lib/syslinux/debug.c:91:5: error: implicit declaration of function ‘printf’ [-Wimplicit-function-declaration]
   91 |     printf("Dynamic debug unavailable\n");

Signed-off-by: Lance Fredrickson <lancethepants@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 3b9d62dac5)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-28 09:07:17 +02:00
Julien Olivain 4baf992d83 package/octave: add optional openssl support
GNU Octave supports the --with-openssl configure option since v4.0.0.

For reference, commit 40ea68b4b2 "package/octave: new package"
introduced the package at v7.1.0.

This commits adds this optional support.

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 0e2c2810dc)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-28 09:04:19 +02:00
Bernd Kuhls 3d1d01f928 package/exim: security bump version to 4.98
Release notes:
https://lists.exim.org/lurker/message/20240710.155945.8823670d.en.html

Fixes CVE-2024-39929: https://bugs.exim.org/show_bug.cgi?id=3099#c4

Removed patch 0004 due to removal of codesourcery arm/aarch64 toolchains
with commit 53a8c5150e.

Patch 0005 (renamed to 0004) is still necessary with gcc-13.x,
reformatted Upstream trailer.

Removed patches 0006, 0007 & 0008 which are included in this release.

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 1a409fafb0)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-23 16:51:37 +02:00
Bernd Kuhls 169284cd1f package/exim: update patches to be applied with fuzz 0
Commit 8f88a644ed "support/scripts/apply-patches.sh: set the maximum
fuzz factor to 0" reduced the fuzz factor.

Due to this change, exim fails to build with output:

    Applying 0004-exim_lock-fix-lstat-related-build-errors.patch using patch:
    patching file src/exim_lock.c
    Hunk #1 FAILED at 13.
    Hunk #2 succeeded at 27 (offset 1 line).
    1 out of 2 hunks FAILED -- saving rejects to file src/exim_lock.c.rej

This commit rebases the package patches on the current package version
when needed.

Fixes:
http://autobuild.buildroot.net/results/ff27d5ebd7f24ac8cb236b83c67c2c75255e51c6/

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Reviewed-by: Yann E. MORIN <yann.morin@orange.com>
Tested-by: Yann E. MORIN <yann.morin@orange.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 20973140c1)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-23 16:51:30 +02:00
Thomas Petazzoni f907f52c0c DEVELOPERS: drop Mathieu Audat
Mathieu privately informed me that he no longer has access to the
TS4900 board, he is therefore unable to maintain this board moving
forward. Let's drop his entry from the DEVELOPERS file.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 39d23ce823)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-23 16:46:57 +02:00
Adrian Perez de Castro 9c29e72aef package/wpewebkit: add backported patch to fix NEON build
Import a patch that has been backported by upstream to the 2.44 release
branch that fixes the build when the target is an ARM processor that
supports NEON instructions.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 8502ac71aa)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-23 16:42:08 +02:00
Bartosz Bilas 7e2f295681 package/rauc-hawkbit-updater: add systemd optional dependency
Take the systemd into account if present.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 4aa7a4ad8a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-23 16:33:46 +02:00
Christian Stewart b16821b9e2 package/containerd: bump version to v1.7.18
https://github.com/containerd/containerd/releases/tag/v1.7.18

Signed-off-by: Christian Stewart <christian@aperture.us>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
(cherry picked from commit 4e01942d83)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-23 09:23:24 +02:00
Peter Korsgaard 144a817f4f package/openssh: add CVE ignore for CVE-2024-6387
Commit e7f124e9b6 (package/openssh: disable async-signal-unsafe code in
sshsigdie()) add a patch for CVE-2024-6387 but forgot to add an _IGNORE_CVES
entry.  Fix that.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-07-20 10:28:11 +02:00
197 changed files with 3175 additions and 967 deletions
+2 -17
View File
@@ -26,7 +26,6 @@ board/canaan/k210-soc/post-build.sh Shellcheck
board/canaan/k210-soc/rootfs_overlay/sbin/init Shellcheck
board/chromebook/elm/sign.sh Shellcheck
board/chromebook/mksd.sh Shellcheck
board/chromebook/snow/linux-4.15-dts-tpm.patch lib_patch.ApplyOrder lib_patch.Upstream
board/chromebook/snow/sign.sh Shellcheck
board/ci20/patches/uboot/0001-mips-Remove-default-endiannes.patch lib_patch.Upstream
board/cubietech/cubieboard2/post-image.sh Shellcheck
@@ -149,8 +148,6 @@ configs/beaglev_defconfig lib_defconfig.ForceCheckHash
configs/beelink_gs1_defconfig lib_defconfig.ForceCheckHash
configs/broadcom_northstar_defconfig lib_defconfig.ForceCheckHash
configs/canaan_kd233_defconfig lib_defconfig.ForceCheckHash
configs/chromebook_elm_defconfig lib_defconfig.ForceCheckHash
configs/chromebook_snow_defconfig lib_defconfig.ForceCheckHash
configs/ci20_defconfig lib_defconfig.ForceCheckHash
configs/cubieboard2_defconfig lib_defconfig.ForceCheckHash
configs/engicam_imx6qdl_icore_defconfig lib_defconfig.ForceCheckHash
@@ -332,7 +329,6 @@ configs/solidrun_macchiatobin_defconfig lib_defconfig.ForceCheckHash
configs/spike_riscv64_defconfig lib_defconfig.ForceCheckHash
configs/stm32f469_disco_sd_defconfig lib_defconfig.ForceCheckHash
configs/stm32f469_disco_xip_defconfig lib_defconfig.ForceCheckHash
configs/stm32mp157a_dk1_defconfig lib_defconfig.ForceCheckHash
configs/stm32mp157c_dk2_defconfig lib_defconfig.ForceCheckHash
configs/stm32mp157c_odyssey_defconfig lib_defconfig.ForceCheckHash
configs/terasic_de10nano_cyclone5_defconfig lib_defconfig.ForceCheckHash
@@ -457,7 +453,7 @@ package/cache-calibrator/0001-Fix-conflicting-round-function.patch lib_patch.Ups
package/cairo/0001-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch lib_patch.Upstream
package/cairo/0002-Fix-mask-usage-in-image-compositor.patch lib_patch.Upstream
package/caps/0001-Fix-stdint-types-with-musl.patch lib_patch.Upstream
package/cdrkit/0001-no-rcmd.patch lib_patch.Upstream
package/cdrkit/0001-fix-build-with-uClibc.patch lib_patch.Upstream
package/cdrkit/0002-define-__THROW-to-avoid-build-issue-with-musl.patch lib_patch.Upstream
package/cdrkit/0003-Add-extern-to-char-outfile-declaration-to-fix-build-.patch lib_patch.Upstream
package/cfm/S65cfm lib_sysv.Indent lib_sysv.Variables
@@ -595,8 +591,6 @@ package/evemu/0004-src-evemu.c-fix-build-with-kernels-4.16.patch lib_patch.Upstr
package/exim/0001-Build-buildconfig-for-the-host.patch lib_patch.Upstream
package/exim/0002-Don-t-make-backup-copies-of-installed-files.patch lib_patch.Upstream
package/exim/0003-Skip-version-check-and-symlink-installation.patch lib_patch.Upstream
package/exim/0004-exim_lock-fix-lstat-related-build-errors.patch lib_patch.Upstream
package/exim/0005-sieve-fix-build-errors.patch lib_patch.Upstream
package/exim/S86exim lib_sysv.Indent lib_sysv.Variables
package/expect/0001-enable-cross-compilation.patch lib_patch.Upstream
package/expect/0002-allow-tcl-build-directory.patch lib_patch.Upstream
@@ -651,7 +645,7 @@ package/fxload/0001-fix-static-build.patch lib_patch.Upstream
package/gamin/0001-no-abstract-sockets.patch lib_patch.Upstream
package/gamin/0002-no-const-return.patch lib_patch.Sob lib_patch.Upstream
package/gamin/0003-fix-missing-PTHREAD_MUTEX_RECURSIVE_NP.patch lib_patch.Upstream
package/gcc/12.3.0/0001-disable-split-stack-for-non-thread-builds.patch lib_patch.Upstream
package/gcc/12.4.0/0001-disable-split-stack-for-non-thread-builds.patch lib_patch.Upstream
package/gcc/13.3.0/0001-disable-split-stack-for-non-thread-builds.patch lib_patch.Upstream
package/gcc/14.1.0/0001-disable-split-stack-for-non-thread-builds.patch lib_patch.Upstream
package/gcc/8.4.0/0001-xtensa-fix-PR-target-91880.patch lib_patch.Upstream
@@ -703,12 +697,6 @@ package/gob2/0001-dont-include-from-prefix.patch lib_patch.Upstream
package/gobject-introspection/0001-disable-tests.patch lib_patch.Upstream
package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch lib_patch.Upstream
package/gobject-introspection/0003-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch lib_patch.Upstream
package/gpm/0001-Added-musl-support-to-libgpm-and-the-daemon.patch lib_patch.Upstream
package/gpm/0002-Install-unversioned-solibrary.patch lib_patch.Upstream
package/gpm/0003-src-Makefile.in-Really-install-unversioned-solibrary.patch lib_patch.Upstream
package/gpm/0004-Use-sigemptyset-API-instead-of-__sigemptyset.patch lib_patch.Upstream
package/gpm/0005-fix-building-w-newer-glibc.patch lib_patch.Upstream
package/gpm/0006-src-headers-daemon.h-avoid-redefinition-of-last_sele.patch lib_patch.Upstream
package/gpsd/S50gpsd Shellcheck lib_sysv.Indent lib_sysv.Variables
package/gptfdisk/0001-gptcurses-partially-revert-Tweaks-for-building-on-th.patch lib_patch.Upstream
package/graphite2/0001-don-t-install-a-libtool-file-with-static-library.patch lib_patch.Upstream
@@ -1069,7 +1057,6 @@ package/musl/0001-avoid-kernel-if_ether.h.patch lib_patch.Upstream
package/musl/0002-package-musl-Make-scheduler-functions-Linux-compatib.patch lib_patch.Upstream
package/nano/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch lib_patch.Upstream
package/nanocom/0001-fix-build-with-gcc-10.patch lib_patch.Upstream
package/ncftp/0001-fix-gcc-10.patch lib_patch.Upstream
package/ncmpc/0001-meson.build-add-atomic-dependency-for-sparc.patch lib_patch.Upstream
package/ne10/0001-CMakeLists-don-t-hard-code-thumb-code-generation.patch lib_patch.Upstream
package/ne10/0002-fix-build-without-C.patch lib_patch.Upstream
@@ -1460,7 +1447,6 @@ package/taskd/0002-Use-correct-variables-for-GnuTLS-detection.patch lib_patch.Up
package/taskd/0003-CMakeLists-use-pkg-config-uuid-detection.patch lib_patch.Upstream
package/tcf-agent/S55tcf-agent Shellcheck lib_sysv.Variables
package/tcl/0001-Disable-tcl-compatibility-layers.patch lib_patch.Upstream
package/tftpd/0001-Use-extern-qualifier-to-fix-gcc-10.x-build.patch lib_patch.Upstream
package/tftpd/S80tftpd-hpa Shellcheck lib_sysv.Indent lib_sysv.Variables
package/ti-gfx/0001-newclkapi.patch lib_patch.Upstream
package/ti-gfx/0002-fix-build-omaplfb-linux.patch lib_patch.Upstream
@@ -1602,7 +1588,6 @@ package/x11r7/xserver_xorg-server/0001-include-misc.h-fix-uClibc-build.patch lib
package/x11r7/xserver_xorg-server/S40xorg Shellcheck lib_sysv.Variables
package/x11vnc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch lib_patch.Upstream
package/x11vnc/0002-scan-limit-access-to-shared-memory-segments-to-current-user.patch lib_patch.Upstream
package/x265/0001-fix-gcc-options.patch lib_patch.Upstream
package/xen/0001-9pfs-include-linux-limits.h-for-XATTR_SIZE_MAX.patch lib_patch.Upstream
package/xen/0002-Fix-build-with-64-bits-time_t.patch lib_patch.Upstream
package/xen/0003-libs-light-fix-tv_sec-printf-format.patch lib_patch.Upstream
+23
View File
@@ -1,3 +1,26 @@
2024.05.2, released August 14th, 2024
Important / security related fixes.
Various minor improvements to utils/check-package
Defconfigs: Add download hashes for chromebook-elm,
chromebook-snow and stm32mp157a_dk1
Updated/fixed packages: android-tools, bcc, bitcoin, boost,
btrfs-progs, c-ares, cdrkit, check, containerd, directfb,
dump1090, ed, exim, fail2ban, frotz, fwts, gcc, gdb, go, gpm,
kexec, libarchive, libgeos, libressl, llvm, mupdf, ncftp,
nodejs, ntpsec, octave, openssh, pppd, python-mupdf,
python-ruamel-yaml, qt5webkit, rawk-hawkbit-updater,
rtl8188eu, snappy, squid, sunxi-tools, syslinux, systemd,
tcf-agent, tftpd, ubus, util-linux, uvw, webkitgtk, wolfssl,
wpewebkit, x265, xlib_libxshmfence, xvisor
Issues resolved (http://bugs.uclibc.org):
#15231: gcc --help -v doesn't work correctly with gcc>=10 and..
2024.05.1, released July 13th, 2024
Important / security related fixes.
+11 -6
View File
@@ -1801,6 +1801,8 @@ F: support/testing/tests/package/test_apache.py
F: support/testing/tests/package/test_bc.py
F: support/testing/tests/package/test_bitcoin.py
F: support/testing/tests/package/test_brotli.py
F: support/testing/tests/package/test_btrfs_progs.py
F: support/testing/tests/package/test_btrfs_progs/
F: support/testing/tests/package/test_bzip2.py
F: support/testing/tests/package/test_compressor_base.py
F: support/testing/tests/package/test_coremark.py
@@ -1840,6 +1842,8 @@ F: support/testing/tests/package/test_jq.py
F: support/testing/tests/package/test_jq/
F: support/testing/tests/package/test_kexec.py
F: support/testing/tests/package/test_kexec/
F: support/testing/tests/package/test_kmod.py
F: support/testing/tests/package/test_kmod/
F: support/testing/tests/package/test_kmscube.py
F: support/testing/tests/package/test_kmscube/
F: support/testing/tests/package/test_less.py
@@ -1861,6 +1865,7 @@ F: support/testing/tests/package/test_mdadm.py
F: support/testing/tests/package/test_mdadm/
F: support/testing/tests/package/test_micropython.py
F: support/testing/tests/package/test_micropython/
F: support/testing/tests/package/test_mosquitto.py
F: support/testing/tests/package/test_mtools.py
F: support/testing/tests/package/test_mtr.py
F: support/testing/tests/package/test_ncdu.py
@@ -1914,6 +1919,8 @@ F: support/testing/tests/package/test_usbutils/
F: support/testing/tests/package/test_weston.py
F: support/testing/tests/package/test_weston/
F: support/testing/tests/package/test_wine.py
F: support/testing/tests/package/test_xfsprogs.py
F: support/testing/tests/package/test_xfsprogs/
F: support/testing/tests/package/test_xz.py
F: support/testing/tests/package/test_z3.py
F: support/testing/tests/package/test_z3/
@@ -2148,7 +2155,9 @@ F: utils/diffconfig
N: Marcus Hoffmann <bubu@bubu1.eu>
F: package/python-jc/
F: support/testing/tests/package/test_python_fastapi.py
F: support/testing/tests/package/test_python_ruamel_yaml.py
F: support/testing/tests/package/sample_python_fastapi.py
F: support/testing/tests/package/sample_python_ruamel_yaml.py
N: Marek Belisko <marek.belisko@open-nandra.com>
F: package/libatasmart/
@@ -2209,11 +2218,6 @@ N: Masahiro Yamada <yamada.masahiro@socionext.com>
F: board/arm/foundation-v8/
F: configs/arm_foundationv8_defconfig
N: Mathieu Audat <mathieuaudat@gmail.com>
F: board/technologic/ts4900/
F: configs/ts4900_defconfig
F: package/ts4900-fpga/
N: Matt Silva <dev@matt-silva.com>
F: package/rlwrap/
@@ -2669,9 +2673,11 @@ F: package/python-pymupdf/
F: package/python-rsa/
F: package/python-s3transfer/
F: support/testing/tests/package/sample_python_jmespath.py
F: support/testing/tests/package/sample_python_pymupdf.py
F: support/testing/tests/package/sample_python_rsa.py
F: support/testing/tests/package/sample_python_s3transfer.py
F: support/testing/tests/package/test_python_jmespath.py
F: support/testing/tests/package/test_python_pymupdf.py
F: support/testing/tests/package/test_python_rsa.py
F: support/testing/tests/package/test_python_s3transfer.py
@@ -2896,7 +2902,6 @@ F: package/lcdapi/
F: package/libfreefare/
F: package/libjson/
F: package/libnfc/
F: package/libnfc/
F: package/libserial/
F: package/libsigsegv/
F: package/macchanger/
+2 -2
View File
@@ -90,9 +90,9 @@ all:
.PHONY: all
# Set and export the version string
export BR2_VERSION := 2024.05.1
export BR2_VERSION := 2024.05.2
# Actual time the release is cut (for reproducible builds)
BR2_VERSION_EPOCH = 1720871000
BR2_VERSION_EPOCH = 1723625000
# Save running make version since it's clobbered by the make package
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
@@ -0,0 +1 @@
../linux/linux.hash
@@ -0,0 +1,2 @@
# Locally computed
sha256 dcdf99e43e98330d925016985bfbc7b83c66d367b714b2de0cbbfcbf83d8ca43 linux-5.10.tar.xz
@@ -0,0 +1 @@
../linux/linux.hash
@@ -9,6 +9,9 @@ See https://code.google.com/p/chromium/issues/detail?id=220169
and https://lkml.org/lkml/2013/3/4/242
Signed-off-by: Alex Suykov <alex.suykov@gmail.com>
Upstream: Not Applicable
[yann.morin.1998@free.fr: add Upstream tag]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
--- a/arch/arm/boot/dts/exynos5250-snow-common.dtsi
+++ b/arch/arm/boot/dts/exynos5250-snow-common.dtsi
@@ -0,0 +1,2 @@
# Localy computed
sha256 5a26478906d5005f4f809402e981518d2b8844949199f60c4b6e1f986ca2a769 linux-4.15.tar.xz
@@ -0,0 +1,2 @@
# Locally calculated
sha256 068325043b7c8ecc47ebb8b4f241f01e86d3f69dc49a63f340aa94bd41a9e6df arm-trusted-firmware/arm-trusted-firmware-lts-v2.8.16.tar.gz
@@ -0,0 +1 @@
../linux/linux.hash
@@ -0,0 +1,2 @@
# Locally calculated
sha256 3f6baa97f37518439f51df2e4f3d65a822ca5ff016aa8e60d2cc53b95a6c89d9 linux-5.13.tar.xz
@@ -0,0 +1,2 @@
# Locally calculated
sha256 e31cac91545ff41b71cec5d8c22afd695645cd6e2a442ccdacacd60534069341 u-boot-2023.04.tar.bz2
@@ -1,2 +1,2 @@
# Locally computed:
# Locally calculated
sha256 ba215404fe9db26e5f2cef3fdce17b7c8ed344a2a1d592dd01a5f1c5e72cfdbd arm-trusted-firmware-lts-v2.10.4.tar.gz
@@ -1,2 +1,2 @@
# Locally computed:
sha256 b99611f1ed237bf3541bdc8434b68c96a6e05967061f992443cb30aabebef5b3 u-boot-2024.01.tar.bz2
# Locally calculated
sha256 18a853fe39fad7ad03a90cc2d4275aeaed6da69735defac3492b80508843dd4a u-boot-2024.04.tar.bz2
+2 -2
View File
@@ -1,2 +1,2 @@
# Locally computed:
sha256 b99611f1ed237bf3541bdc8434b68c96a6e05967061f992443cb30aabebef5b3 u-boot-2024.01.tar.bz2
# Locally calculated
sha256 18a853fe39fad7ad03a90cc2d4275aeaed6da69735defac3492b80508843dd4a u-boot-2024.04.tar.bz2
@@ -1,2 +1,2 @@
# Locally computed:
# Locally calculated
sha256 ba215404fe9db26e5f2cef3fdce17b7c8ed344a2a1d592dd01a5f1c5e72cfdbd arm-trusted-firmware-lts-v2.10.4.tar.gz
@@ -1 +1,2 @@
sha256 b99611f1ed237bf3541bdc8434b68c96a6e05967061f992443cb30aabebef5b3 u-boot-2024.01.tar.bz2
# Locally calculated
sha256 18a853fe39fad7ad03a90cc2d4275aeaed6da69735defac3492b80508843dd4a u-boot-2024.04.tar.bz2
+2 -2
View File
@@ -1,2 +1,2 @@
# Locally computed:
sha256 b99611f1ed237bf3541bdc8434b68c96a6e05967061f992443cb30aabebef5b3 u-boot-2024.01.tar.bz2
# Locally calculated
sha256 18a853fe39fad7ad03a90cc2d4275aeaed6da69735defac3492b80508843dd4a u-boot-2024.04.tar.bz2
@@ -0,0 +1,34 @@
From dfa2705100a893bc017d23406daa9a383fbc3c95 Mon Sep 17 00:00:00 2001
From: Lance Fredrickson <lancethepants@gmail.com>
Date: Wed, 5 Jun 2024 14:31:38 -0600
Subject: [PATCH] com32/lib/syslinux/debug.c: add missing stdio.h include.
Fix building syslinux with GCC 14.x
Add missing stdio.h include. Without it results in the following error under GCC 14.x
../../../com32/lib/syslinux/debug.c: In function ‘syslinux_debug’:
../../../com32/lib/syslinux/debug.c:91:5: error: implicit declaration of function ‘printf’ [-Wimplicit-function-declaration]
91 | printf("Dynamic debug unavailable\n");
Upstream: dead (last release in 2014)
Signed-off-by: Lance Fredrickson <lancethepants@gmail.com>
---
com32/lib/syslinux/debug.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/com32/lib/syslinux/debug.c b/com32/lib/syslinux/debug.c
index d9ab863f..e8f53d57 100644
--- a/com32/lib/syslinux/debug.c
+++ b/com32/lib/syslinux/debug.c
@@ -1,6 +1,7 @@
#include <linux/list.h>
#include <string.h>
#include <stdbool.h>
+#include <stdio.h>
#ifdef DYNAMIC_DEBUG
--
2.39.2
+4
View File
@@ -35,3 +35,7 @@ BR2_PACKAGE_HOST_PARTED=y
BR2_PACKAGE_HOST_UBOOT_TOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
BR2_PACKAGE_HOST_VBOOT_UTILS=y
# Misc
BR2_GLOBAL_PATCH_DIR="board/chromebook/elm/patches"
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
+2 -1
View File
@@ -1,6 +1,8 @@
BR2_arm=y
BR2_cortex_a15=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y
BR2_GLOBAL_PATCH_DIR="board/chromebook/snow/patches"
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
BR2_TARGET_GENERIC_GETTY_PORT="tty1"
BR2_TARGET_GENERIC_GETTY_TERM="linux"
BR2_ROOTFS_POST_BUILD_SCRIPT="board/chromebook/snow/sign.sh"
@@ -8,7 +10,6 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/chromebook/mksd.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15"
BR2_LINUX_KERNEL_PATCH="board/chromebook/snow/linux-4.15-dts-tpm.patch"
BR2_LINUX_KERNEL_DEFCONFIG="exynos"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/chromebook/snow/linux-4.15.fragment"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
+2
View File
@@ -6,6 +6,8 @@ BR2_cortex_a7=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_13=y
# System configuration
BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32mp157a-dk1/patches"
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
BR2_ROOTFS_OVERLAY="board/stmicroelectronics/stm32mp157a-dk1/overlay/"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/stmicroelectronics/common/stm32mp157/post-image.sh"
+2 -2
View File
@@ -51,10 +51,10 @@ Before submitting patches for new boards it is recommended to test it by
building it using latest gitlab-CI docker container. To do this use
+utils/docker-run+ script and inside it issue these commands:
--------------------
----
$ make <boardname>_defconfig
$ make
--------------------
----
By default, Buildroot developers use the official image hosted on the
https://gitlab.com/buildroot.org/buildroot/container_registry/2395076[gitlab.com
+5 -8
View File
@@ -10,7 +10,7 @@
First, let's see how to write a +.mk+ file for an autotools-based
package, with an example :
------------------------
----
01: ################################################################################
02: #
03: # libfoo
@@ -26,7 +26,7 @@ package, with an example :
13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf
14:
15: $(eval $(autotools-package))
------------------------
----
On line 7, we declare the version of the package.
@@ -76,12 +76,9 @@ Just like the generic infrastructure, the autotools infrastructure
works by defining a number of variables before calling the
+autotools-package+ macro.
First, all the package metadata information variables that exist in the
generic infrastructure also exist in the autotools infrastructure:
+LIBFOO_VERSION+, +LIBFOO_SOURCE+,
+LIBFOO_PATCH+, +LIBFOO_SITE+,
+LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+,
+LIBFOO_INSTALL_STAGING+, +LIBFOO_INSTALL_TARGET+.
All the package metadata information variables that exist in the
xref:generic-package-reference[generic package infrastructure] also
exist in the autotools infrastructure.
A few additional variables, specific to the autotools infrastructure,
can also be defined. Many of them are only useful in very specific
+7 -8
View File
@@ -14,7 +14,7 @@ called "crates".
The +Config.in+ file of Cargo-based package 'foo' should contain:
---------------------------
----
01: config BR2_PACKAGE_FOO
02: bool "foo"
03: depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
@@ -23,11 +23,11 @@ The +Config.in+ file of Cargo-based package 'foo' should contain:
06: This is a comment that explains what foo is.
07:
08: http://foosoftware.org/foo/
---------------------------
----
And the +.mk+ file for this package should contain:
------------------------------
----
01: ################################################################################
02: #
03: # foo
@@ -41,7 +41,7 @@ And the +.mk+ file for this package should contain:
11: FOO_LICENSE_FILES = COPYING
12:
13: $(eval $(cargo-package))
--------------------------------
----
The Makefile starts with the definition of the standard variables for
package declaration (lines 7 to 11).
@@ -64,10 +64,9 @@ Just like the generic infrastructure, the Cargo infrastructure works
by defining a number of variables before calling the +cargo-package+
or +host-cargo-package+ macros.
First, all the package metadata information variables that exist in
the generic infrastructure also exist in the Cargo infrastructure:
+FOO_VERSION+, +FOO_SOURCE+, +FOO_PATCH+, +FOO_SITE+,
+FOO_DEPENDENCIES+, +FOO_LICENSE+, +FOO_LICENSE_FILES+, etc.
All the package metadata information variables that exist in the
xref:generic-package-reference[generic package infrastructure] also
exist in the Cargo infrastructure.
A few additional variables, specific to the Cargo infrastructure, can
also be defined. Many of them are only useful in very specific cases,
+5 -7
View File
@@ -10,7 +10,7 @@
First, let's see how to write a +.mk+ file for a CMake-based package,
with an example :
------------------------
----
01: ################################################################################
02: #
03: # libfoo
@@ -26,7 +26,7 @@ with an example :
13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf
14:
15: $(eval $(cmake-package))
------------------------
----
On line 7, we declare the version of the package.
@@ -75,11 +75,9 @@ Just like the generic infrastructure, the CMake infrastructure works
by defining a number of variables before calling the +cmake-package+
macro.
First, all the package metadata information variables that exist in
the generic infrastructure also exist in the CMake infrastructure:
+LIBFOO_VERSION+, +LIBFOO_SOURCE+, +LIBFOO_PATCH+, +LIBFOO_SITE+,
+LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+, +LIBFOO_INSTALL_STAGING+,
+LIBFOO_INSTALL_TARGET+.
All the package metadata information variables that exist in the
xref:generic-package-reference[generic package infrastructure] also
exist in the CMake infrastructure.
A few additional variables, specific to the CMake infrastructure, can
also be defined. Many of them are only useful in very specific cases,
+30 -30
View File
@@ -24,7 +24,7 @@ file will contain the option descriptions related to our +libfoo+ software
that will be used and displayed in the configuration tool. It should basically
contain:
---------------------------
----
config BR2_PACKAGE_LIBFOO
bool "libfoo"
help
@@ -32,7 +32,7 @@ config BR2_PACKAGE_LIBFOO
should be wrapped.
http://foosoftware.org/libfoo/
---------------------------
----
The +bool+ line, +help+ line and other metadata information about the
configuration option must be indented with one tab. The help text
@@ -64,9 +64,9 @@ put your package in one of the existing categories). The files
included there are 'sorted alphabetically' per category and are 'NOT'
supposed to contain anything but the 'bare' name of the package.
--------------------------
----
source "package/libfoo/Config.in"
--------------------------
----
==== +Config.in.host+ file
@@ -83,14 +83,14 @@ options here:
the configuration menu. In this case, create a +Config.in.host+ file
for that host package:
+
---------------------------
----
config BR2_PACKAGE_HOST_FOO
bool "host foo"
help
This is a comment that explains what foo for the host is.
http://foosoftware.org/foo/
---------------------------
----
+
The same coding style and options as for the +Config.in+ file are valid.
+
@@ -98,9 +98,9 @@ Finally you have to add your new +libfoo/Config.in.host+ to
+package/Config.in.host+. The files included there are 'sorted alphabetically'
and are 'NOT' supposed to contain anything but the 'bare' name of the package.
+
--------------------------
----
source "package/foo/Config.in.host"
--------------------------
----
+
The host package will then be available from the +Host utilities+ menu.
@@ -136,7 +136,7 @@ is not met.
An example illustrates both the usage of +select+ and +depends on+.
--------------------------
----
config BR2_PACKAGE_RRDTOOL
bool "rrdtool"
depends on BR2_USE_WCHAR
@@ -152,7 +152,7 @@ config BR2_PACKAGE_RRDTOOL
comment "rrdtool needs a toolchain w/ wchar"
depends on !BR2_USE_WCHAR
--------------------------
----
Note that these two dependency types are only transitive with the
@@ -160,7 +160,7 @@ dependencies of the same kind.
This means, in the following example:
--------------------------
----
config BR2_PACKAGE_A
bool "Package A"
@@ -179,7 +179,7 @@ config BR2_PACKAGE_D
config BR2_PACKAGE_E
bool "Package E"
select BR2_PACKAGE_D
--------------------------
----
* Selecting +Package C+ will be visible if +Package B+ has been
selected, which in turn is only visible if +Package A+ has been
@@ -193,7 +193,7 @@ config BR2_PACKAGE_E
the dependency of +Package B+ on +Package A+. Therefore, in such a
situation, the transitive dependency has to be added explicitly:
--------------------------
----
config BR2_PACKAGE_D
bool "Package D"
depends on BR2_PACKAGE_A
@@ -203,7 +203,7 @@ config BR2_PACKAGE_E
bool "Package E"
depends on BR2_PACKAGE_A
select BR2_PACKAGE_D
--------------------------
----
Overall, for package library dependencies, +select+ should be
preferred.
@@ -247,21 +247,21 @@ comment and other config options.
The general format of a dependency +comment+ for package foo is:
--------------------------
----
foo needs a toolchain w/ featA, featB, featC
--------------------------
----
for example:
--------------------------
----
mpd needs a toolchain w/ C++, threads, wchar
--------------------------
----
or
--------------------------
----
crda needs a toolchain w/ threads
--------------------------
----
Note that this text is kept brief on purpose, so that it will fit on a
80-character terminal.
@@ -358,32 +358,32 @@ typically kernel modules or firmware. A comment should be added in the
Config.in file to express this dependency, similar to dependencies on
toolchain options. The general format is:
--------------------------
----
foo needs a Linux kernel to be built
--------------------------
----
If there is a dependency on both toolchain options and the Linux
kernel, use this format:
--------------------------
----
foo needs a toolchain w/ featA, featB, featC and a Linux kernel to be built
--------------------------
----
==== Dependencies on udev /dev management
If a package needs udev /dev management, it should depend on symbol
+BR2_PACKAGE_HAS_UDEV+, and the following comment should be added:
--------------------------
----
foo needs udev /dev management
--------------------------
----
If there is a dependency on both toolchain options and udev /dev
management, use this format:
--------------------------
----
foo needs udev /dev management and a toolchain w/ featA, featB, featC
--------------------------
----
==== Dependencies on features provided by virtual packages
@@ -578,7 +578,7 @@ not start before +S40network+. The scripts are started in alphabetical
order, so +S01syslogd+ starts before +S01watchdogd+, and +S02sysctl+
start thereafter.
------------------------------
----
01: #!/bin/sh
02:
03: DAEMON="syslogd"
@@ -634,7 +634,7 @@ start thereafter.
53: echo "Usage: $0 {start|stop|restart|reload}"
54: exit 1
55: esac
------------------------------
----
*Note:* programs that support reloading their configuration in some
fashion (+SIGHUP+) should provide a +reload()+ function similar to
+14 -14
View File
@@ -12,7 +12,7 @@ system is based on hand-written Makefiles or shell scripts.
==== +generic-package+ tutorial
------------------------------
----
01: ################################################################################
02: #
03: # libfoo
@@ -56,7 +56,7 @@ system is based on hand-written Makefiles or shell scripts.
41: endef
42:
43: $(eval $(generic-package))
--------------------------------
----
The Makefile begins on line 7 to 11 with metadata information: the
version of the package (+LIBFOO_VERSION+), the name of the
@@ -103,9 +103,9 @@ Package divine installs shell script '$(STAGING_DIR)/usr/bin/divine-config'.
So its fixup would be:
--------------------------------
----
DIVINE_CONFIG_SCRIPTS = divine-config
--------------------------------
----
================================
.Config script: 'imagemagick' package:
@@ -115,11 +115,11 @@ Package imagemagick installs the following scripts:
So it's fixup would be:
--------------------------------
----
IMAGEMAGICK_CONFIG_SCRIPTS = \
Magick-config Magick++-config \
MagickCore-config MagickWand-config Wand-config
--------------------------------
----
================================
On line 14, we specify the list of dependencies this package relies
@@ -166,10 +166,10 @@ for the host. It is possible to call both of them in a single +.mk+
file: once to create the rules to generate a target
package and once to create the rules to generate a host package:
----------------------
----
$(eval $(generic-package))
$(eval $(host-generic-package))
----------------------
----
This might be useful if the compilation of the target package requires
some tools to be installed on the host. If the package name is
@@ -504,12 +504,12 @@ not and can not work as people would expect it should:
Buildroot package. A Makefile comment must always precede the
addition of a CVE to this variable. Example:
+
----------------------
----
# 0001-fix-cve-2020-12345.patch
LIBFOO_IGNORE_CVES += CVE-2020-12345
# only when built with libbaz, which Buildroot doesn't support
LIBFOO_IGNORE_CVES += CVE-2020-54321
----------------------
----
* [[cpe-id]] +LIBFOO_CPE_ID_*+ variables is a set of variables that allows the
package to define its https://nvd.nist.gov/products/cpe[CPE
@@ -551,9 +551,9 @@ corresponding target package.
The recommended way to define these variables is to use the following
syntax:
----------------------
----
LIBFOO_VERSION = 2.32
----------------------
----
Now, the variables that define what should be performed at the
different steps of the build process.
@@ -633,13 +633,13 @@ different steps of the build process.
The preferred way to define these variables is:
----------------------
----
define LIBFOO_CONFIGURE_CMDS
action 1
action 2
action 3
endef
----------------------
----
In the action definitions, you can use the following variables:
+6 -7
View File
@@ -13,7 +13,7 @@ build system and use bundled dependencies.
First, let's see how to write a +.mk+ file for a go package,
with an example :
------------------------
----
01: ################################################################################
02: #
03: # foo
@@ -26,7 +26,7 @@ with an example :
10: FOO_LICENSE_FILES = LICENSE
11:
12: $(eval $(golang-package))
------------------------
----
On line 7, we declare the version of the package.
@@ -56,16 +56,15 @@ The main macro of the Go package infrastructure is
ability to build host packages is also available, with the
+host-golang-package+ macro.
Host packages built by +host-golang-package+ macro should depend on
BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS.
+BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS+.
Just like the generic infrastructure, the Go infrastructure works
by defining a number of variables before calling the +golang-package+.
by defining a number of variables before calling the +golang-package+
macro.
All the package metadata information variables that exist in the
xref:generic-package-reference[generic package infrastructure] also
exist in the Go infrastructure: +FOO_VERSION+, +FOO_SOURCE+,
+FOO_PATCH+, +FOO_SITE+, +FOO_SUBDIR+, +FOO_DEPENDENCIES+,
+FOO_LICENSE+, +FOO_LICENSE_FILES+, +FOO_INSTALL_STAGING+, etc.
exist in the Go infrastructure.
Note that it is not necessary to add +host-go+ in the
+FOO_DEPENDENCIES+ variable of a package, since this basic dependency
+2 -2
View File
@@ -52,14 +52,14 @@ These variables are 'lists' of variable names containing actions to be
performed at this hook point. This allows several hooks to be
registered at a given hook point. Here is an example:
----------------------
----
define LIBFOO_POST_PATCH_FIXUP
action1
action2
endef
LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP
----------------------
----
[[hooks-rsync]]
==== Using the +POST_RSYNC+ hook
+12 -6
View File
@@ -15,20 +15,26 @@ expose the package's +menuconfig+ target as +foo-menuconfig+ in
Buildroot, and to handle the copying back and forth of the configuration
file in a correct way.
The +kconfig-package+ infrastructure is based on the +generic-package+
infrastructure. All variables supported by +generic-package+ are
available in +kconfig-package+ as well. See
xref:generic-package-reference[] for more details.
The main macro of the kconfig package infrastructure is
+kconfig-package+. It is similar to the +generic-package+ macro.
Just like the generic infrastructure, the kconfig infrastructure works
by defining a number of variables before calling the +kconfig-package+
macro.
All the package metadata information variables that exist in the
xref:generic-package-reference[generic package infrastructure] also
exist in the kconfig infrastructure.
In order to use the +kconfig-package+ infrastructure for a Buildroot
package, the minimally required lines in the +.mk+ file, in addition to
the variables required by the +generic-package+ infrastructure, are:
------------------------------
----
FOO_KCONFIG_FILE = reference-to-source-configuration-file
$(eval $(kconfig-package))
------------------------------
----
This snippet creates the following make targets:
@@ -22,7 +22,7 @@ Let's look at an example of a Linux tool. For a new Linux tool named
descriptions related to each kernel tool that will be used and
displayed in the configuration tool. It would basically look like:
------------------------------
----
01: config BR2_PACKAGE_LINUX_TOOLS_FOO
02: bool "foo"
03: select BR2_PACKAGE_LINUX_TOOLS
@@ -30,7 +30,7 @@ displayed in the configuration tool. It would basically look like:
05: This is a comment that explains what foo kernel tool is.
06:
07: http://foosoftware.org/foo/
------------------------------
----
The name of the option starts with the prefix +BR2_PACKAGE_LINUX_TOOLS_+,
followed by the uppercase name of the tool (like is done for packages).
@@ -43,7 +43,7 @@ the `Target packages` main menu.
Then for each linux tool, add a new +.mk.in+ file named
+package/linux-tools/linux-tool-foo.mk.in+. It would basically look like:
------------------------------
----
01: ################################################################################
02: #
03: # foo
@@ -69,7 +69,7 @@ Then for each linux tool, add a new +.mk.in+ file named
23: DESTDIR=$(TARGET_DIR) \
24: foo_install
25: endef
--------------------------------
----
On line 7, we register the Linux tool +foo+ to the list of available
Linux tools.
@@ -115,19 +115,19 @@ the existing +linux/Config.ext.in+. This file contains the option
descriptions related to each kernel extension that will be used and
displayed in the configuration tool. It would basically look like:
------------------------------
----
01: config BR2_LINUX_KERNEL_EXT_FOO
02: bool "foo"
03: help
04: This is a comment that explains what foo kernel extension is.
05:
06: http://foosoftware.org/foo/
------------------------------
----
Then for each linux extension, add a new +.mk+ file named
+linux/linux-ext-foo.mk+. It should basically contain:
------------------------------
----
01: ################################################################################
02: #
03: # foo
@@ -139,7 +139,7 @@ Then for each linux extension, add a new +.mk+ file named
09: define FOO_PREPARE_KERNEL
10: $(FOO_DIR)/prepare-kernel-tree.sh --linux-dir=$(@D)
11: endef
--------------------------------
----
On line 7, we add the Linux extension +foo+ to the list of available
Linux extensions.
+7 -7
View File
@@ -10,7 +10,7 @@
First, let's see how to write a +.mk+ file for a LuaRocks-based package,
with an example :
------------------------
----
01: ################################################################################
02: #
03: # lua-foo
@@ -27,7 +27,7 @@ with an example :
14: LUA_FOO_LICENSE_FILES = $(LUA_FOO_SUBDIR)/COPYING
15:
16: $(eval $(luarocks-package))
------------------------
----
On line 7, we declare the version of the package (the same as in the rockspec,
which is the concatenation of the upstream version and the rockspec revision,
@@ -73,16 +73,16 @@ infrastructures in Buildroot, respectively.
The main macro of the LuaRocks package infrastructure is +luarocks-package+:
like +generic-package+ it works by defining a number of variables providing
metadata information about the package, and then calling +luarocks-package+.
metadata information about the package, and then calling the +luarocks-package+
macro.
Just like the generic infrastructure, the LuaRocks infrastructure works
by defining a number of variables before calling the +luarocks-package+
macro.
First, all the package metadata information variables that exist in
the generic infrastructure also exist in the LuaRocks infrastructure:
+LUA_FOO_VERSION+, +LUA_FOO_SOURCE+, +LUA_FOO_SITE+,
+LUA_FOO_DEPENDENCIES+, +LUA_FOO_LICENSE+, +LUA_FOO_LICENSE_FILES+.
All the package metadata information variables that exist in the
xref:generic-package-reference[generic package infrastructure] also
exist in the LuaRocks infrastructure.
Two of them are populated by the LuaRocks infrastructure (for the
+download+ step). If your package is not hosted on the LuaRocks mirror
+5 -6
View File
@@ -14,7 +14,7 @@ build operations.
Let's see how to write a +.mk+ file for a Meson-based package, with an example:
------------------------------
----
01: ################################################################################
02: #
03: # foo
@@ -38,7 +38,7 @@ Let's see how to write a +.mk+ file for a Meson-based package, with an example:
21: endif
22:
23: $(eval $(meson-package))
--------------------------------
----
The Makefile starts with the definition of the standard variables for package
declaration (lines 7 to 11).
@@ -76,10 +76,9 @@ packages is also available, with the +host-meson-package+ macro.
Just like the generic infrastructure, the Meson infrastructure works by defining
a number of variables before calling the +meson-package+ macro.
First, all the package metadata information variables that exist in the generic
infrastructure also exist in the Meson infrastructure: +FOO_VERSION+,
+FOO_SOURCE+, +FOO_PATCH+, +FOO_SITE+, +FOO_SUBDIR+, +FOO_DEPENDENCIES+,
+FOO_INSTALL_STAGING+, +FOO_INSTALL_TARGET+.
All the package metadata information variables that exist in the
xref:generic-package-reference[generic package infrastructure] also
exist in the Meson infrastructure.
A few additional variables, specific to the Meson infrastructure, can also be
defined. Many of them are only useful in very specific cases, typical packages
+5 -8
View File
@@ -10,7 +10,7 @@
First, let's see how to write a +.mk+ file for a Perl/CPAN package,
with an example :
------------------------
----
01: ################################################################################
02: #
03: # perl-foo-bar
@@ -26,7 +26,7 @@ with an example :
13: PERL_FOO_BAR_DISTNAME = Foo-Bar
14:
15: $(eval $(perl-package))
------------------------
----
On line 7, we declare the version of the package.
@@ -85,12 +85,9 @@ Just like the generic infrastructure, the Perl/CPAN infrastructure
works by defining a number of variables before calling the
+perl-package+ macro.
First, all the package metadata information variables that exist in the
generic infrastructure also exist in the Perl/CPAN infrastructure:
+PERL_FOO_VERSION+, +PERL_FOO_SOURCE+,
+PERL_FOO_PATCH+, +PERL_FOO_SITE+,
+PERL_FOO_SUBDIR+, +PERL_FOO_DEPENDENCIES+,
+PERL_FOO_INSTALL_TARGET+.
All the package metadata information variables that exist in the
xref:generic-package-reference[generic package infrastructure] also
exist in the Perl/CPAN infrastructure.
Note that setting +PERL_FOO_INSTALL_STAGING+ to +YES+ has no effect
unless a +PERL_FOO_INSTALL_STAGING_CMDS+ variable is defined. The perl
+13 -16
View File
@@ -15,7 +15,7 @@ system, generally recognizable by the usage of a +setup.py+ script or
First, let's see how to write a +.mk+ file for a Python package,
with an example :
------------------------
----
01: ################################################################################
02: #
03: # python-foo
@@ -32,7 +32,7 @@ with an example :
14: PYTHON_FOO_SETUP_TYPE = setuptools
15:
16: $(eval $(python-package))
------------------------
----
On line 7, we declare the version of the package.
@@ -80,10 +80,7 @@ or +host-python-package+ macros.
All the package metadata information variables that exist in the
xref:generic-package-reference[generic package infrastructure] also
exist in the Python infrastructure: +PYTHON_FOO_VERSION+,
+PYTHON_FOO_SOURCE+, +PYTHON_FOO_PATCH+, +PYTHON_FOO_SITE+,
+PYTHON_FOO_SUBDIR+, +PYTHON_FOO_DEPENDENCIES+, +PYTHON_FOO_LICENSE+,
+PYTHON_FOO_LICENSE_FILES+, +PYTHON_FOO_INSTALL_STAGING+, etc.
exist in the Python infrastructure.
Note that:
@@ -173,9 +170,9 @@ your host.
When at the root of your buildroot directory just do :
-----------------------
----
utils/scanpypi foo bar -o package
-----------------------
----
This will generate packages +python-foo+ and +python-bar+ in the package
folder if they exist on https://pypi.python.org.
@@ -193,18 +190,18 @@ need to manually add the package to the +package/Config.in+ file.
If your Buildroot package is not in the official Buildroot tree but in
a br2-external tree, use the -o flag as follows:
-----------------------
----
utils/scanpypi foo bar -o other_package_dir
-----------------------
----
This will generate packages +python-foo+ and +python-bar+ in the
+other_package_directory+ instead of +package+.
Option +-h+ will list the available options:
-----------------------
----
utils/scanpypi -h
-----------------------
----
[[python-package-cffi-backend]]
@@ -222,17 +219,17 @@ Such a package should:
compiled C library wrapper on the target. This is achieved by adding
+select BR2_PACKAGE_PYTHON_CFFI+ to the package +Config.in+.
------------------------
----
config BR2_PACKAGE_PYTHON_FOO
bool "python-foo"
select BR2_PACKAGE_PYTHON_CFFI # runtime
------------------------
----
* add +host-python-cffi+ as a build-time dependency in order to
cross-compile the C wrapper. This is achieved by adding
+host-python-cffi+ to the +PYTHON_FOO_DEPENDENCIES+ variable.
------------------------
----
################################################################################
#
# python-foo
@@ -244,4 +241,4 @@ cross-compile the C wrapper. This is achieved by adding
PYTHON_FOO_DEPENDENCIES = host-python-cffi
$(eval $(python-package))
------------------------
----
+6 -8
View File
@@ -10,7 +10,7 @@
First, let's see how to write a +.mk+ file for a QMake-based package, with
an example :
------------------------
----
01: ################################################################################
02: #
03: # libfoo
@@ -24,7 +24,7 @@ an example :
11: LIBFOO_DEPENDENCIES = bar
12:
13: $(eval $(qmake-package))
------------------------
----
On line 7, we declare the version of the package.
@@ -51,13 +51,11 @@ Just like the generic infrastructure, the QMake infrastructure works
by defining a number of variables before calling the +qmake-package+
macro.
First, all the package metadata information variables that exist in
the generic infrastructure also exist in the QMake infrastructure:
+LIBFOO_VERSION+, +LIBFOO_SOURCE+, +LIBFOO_PATCH+, +LIBFOO_SITE+,
+LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+, +LIBFOO_INSTALL_STAGING+,
+LIBFOO_INSTALL_TARGET+.
All the package metadata information variables that exist in the
xref:generic-package-reference[generic package infrastructure] also
exist in the QMake infrastructure.
An additional variable, specific to the QMake infrastructure, can
A few additional variables, specific to the QMake infrastructure, can
also be defined.
* +LIBFOO_CONF_ENV+, to specify additional environment variables to
+5 -9
View File
@@ -10,7 +10,7 @@
First, let's see how to write a +.mk+ file for a rebar-based package,
with an example :
------------------------------
----
01: ################################################################################
02: #
03: # erlang-foobar
@@ -23,7 +23,7 @@ with an example :
10: ERLANG_FOOBAR_DEPENDENCIES = host-libaaa libbbb
11:
12: $(eval $(rebar-package))
--------------------------------
----
On line 7, we declare the version of the package.
@@ -51,13 +51,9 @@ Just like the generic infrastructure, the +rebar+ infrastructure works
by defining a number of variables before calling the +rebar-package+
macro.
First, all the package metadata information variables that exist in
the generic infrastructure also exist in the +rebar+ infrastructure:
+ERLANG_FOOBAR_VERSION+, +ERLANG_FOOBAR_SOURCE+,
+ERLANG_FOOBAR_PATCH+, +ERLANG_FOOBAR_SITE+,
+ERLANG_FOOBAR_SUBDIR+, +ERLANG_FOOBAR_DEPENDENCIES+,
+ERLANG_FOOBAR_INSTALL_STAGING+, +ERLANG_FOOBAR_INSTALL_TARGET+,
+ERLANG_FOOBAR_LICENSE+ and +ERLANG_FOOBAR_LICENSE_FILES+.
All the package metadata information variables that exist in the
xref:generic-package-reference[generic package infrastructure] also
exist in the +rebar+ infrastructure.
A few additional variables, specific to the +rebar+ infrastructure,
can also be defined. Many of them are only useful in very specific
+6 -6
View File
@@ -172,11 +172,11 @@ However, it is possible to download tarballs directly from the repository
on GitHub. As GitHub is known to have changed download mechanisms in the
past, the 'github' helper function should be used as shown below.
------------------------
----
# Use a tag or a full commit ID
FOO_VERSION = 1.0
FOO_SITE = $(call github,<user>,<package>,v$(FOO_VERSION))
------------------------
----
.Notes
- The FOO_VERSION can either be a tag or a commit ID.
@@ -220,22 +220,22 @@ to download from Gitlab repositories. It can be used to download
auto-generated tarballs produced by Gitlab, either for specific tags
or commits:
------------------------
----
# Use a tag or a full commit ID
FOO_VERSION = 1.0
FOO_SITE = $(call gitlab,<user>,<package>,v$(FOO_VERSION))
------------------------
----
By default, it will use a +.tar.gz+ tarball, but Gitlab also provides
+.tar.bz2+ tarballs, so by adding a +<pkg>_SOURCE+ variable, this
+.tar.bz2+ tarball can be used:
------------------------
----
# Use a tag or a full commit ID
FOO_VERSION = 1.0
FOO_SITE = $(call gitlab,<user>,<package>,v$(FOO_VERSION))
FOO_SOURCE = foo-$(FOO_VERSION).tar.bz2
------------------------
----
If there is a specific tarball uploaded by the upstream developers in
+https://gitlab.com/<project>/releases/+, do not use this macro, but
+12 -12
View File
@@ -26,14 +26,14 @@ First, let's create the virtual package.
The +Config.in+ file of virtual package 'something-virtual' should contain:
---------------------------
----
01: config BR2_PACKAGE_HAS_SOMETHING_VIRTUAL
02: bool
03:
04: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL
05: depends on BR2_PACKAGE_HAS_SOMETHING_VIRTUAL
06: string
---------------------------
----
In this file, we declare two options, +BR2_PACKAGE_HAS_SOMETHING_VIRTUAL+ and
+BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL+, whose values will be used by the
@@ -43,7 +43,7 @@ providers.
The +.mk+ for the virtual package should just evaluate the +virtual-package+ macro:
---------------------------
----
01: ################################################################################
02: #
03: # something-virtual
@@ -51,7 +51,7 @@ The +.mk+ for the virtual package should just evaluate the +virtual-package+ mac
05: ################################################################################
06:
07: $(eval $(virtual-package))
---------------------------
----
The ability to have target and host packages is also available, with the
+host-virtual-package+ macro.
@@ -64,7 +64,7 @@ modifications.
The +Config.in+ file of the package 'some-provider', which provides the
functionalities of 'something-virtual', should contain:
---------------------------
----
01: config BR2_PACKAGE_SOME_PROVIDER
02: bool "some-provider"
03: select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL
@@ -77,7 +77,7 @@ functionalities of 'something-virtual', should contain:
10: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL
11: default "some-provider"
12: endif
---------------------------
----
On line 3, we select +BR2_PACKAGE_HAS_SOMETHING_VIRTUAL+, and on line 11, we
set the value of +BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL+ to the name of the
@@ -89,9 +89,9 @@ The +.mk+ file should also declare an additional variable
+SOME_PROVIDER_PROVIDES+ to contain the names of all the virtual
packages it is an implementation of:
---------------------------
----
01: SOME_PROVIDER_PROVIDES = something-virtual
---------------------------
----
Of course, do not forget to add the proper build and runtime dependencies for
this package!
@@ -101,14 +101,14 @@ this package!
When adding a package that requires a certain +FEATURE+ provided by a virtual
package, you have to use +depends on BR2_PACKAGE_HAS_FEATURE+, like so:
---------------------------
----
config BR2_PACKAGE_HAS_FEATURE
bool
config BR2_PACKAGE_FOO
bool "foo"
depends on BR2_PACKAGE_HAS_FEATURE
---------------------------
----
==== Notes on depending on a specific provider
@@ -118,7 +118,7 @@ provider.
Let's take an example with two providers for a +FEATURE+:
---------------------------
----
config BR2_PACKAGE_HAS_FEATURE
bool
@@ -129,7 +129,7 @@ config BR2_PACKAGE_FOO
config BR2_PACKAGE_BAR
bool "bar"
select BR2_PACKAGE_HAS_FEATURE
---------------------------
----
And you are adding a package that needs +FEATURE+ as provided by +foo+,
but not as provided by +bar+.
+6 -8
View File
@@ -10,7 +10,7 @@
First, let's see how to write a +.mk+ file for a Waf-based package, with
an example :
------------------------
----
01: ################################################################################
02: #
03: # libfoo
@@ -24,7 +24,7 @@ an example :
11: LIBFOO_DEPENDENCIES = bar
12:
13: $(eval $(waf-package))
------------------------
----
On line 7, we declare the version of the package.
@@ -51,13 +51,11 @@ Just like the generic infrastructure, the Waf infrastructure works
by defining a number of variables before calling the +waf-package+
macro.
First, all the package metadata information variables that exist in
the generic infrastructure also exist in the Waf infrastructure:
+LIBFOO_VERSION+, +LIBFOO_SOURCE+, +LIBFOO_PATCH+, +LIBFOO_SITE+,
+LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+, +LIBFOO_INSTALL_STAGING+,
+LIBFOO_INSTALL_TARGET+.
All the package metadata information variables that exist in the
xref:generic-package-reference[generic package infrastructure] also
exist in the Waf infrastructure.
An additional variable, specific to the Waf infrastructure, can
A few additional variables, specific to the Waf infrastructure, can
also be defined.
* +LIBFOO_SUBDIR+ may contain the name of a subdirectory inside the
+8 -8
View File
@@ -13,9 +13,9 @@ images_ menu.
After a complete build, just run the following commands to setup the
NFS-root directory:
-------------------
----
sudo tar -xavf /path/to/output_dir/rootfs.tar -C /path/to/nfs_root_dir
-------------------
----
Remember to add this path to +/etc/exports+.
@@ -34,21 +34,21 @@ as a live CD and live USB (through the _Build hybrid image_ option).
You can test your live CD image using QEMU:
-------------------
----
qemu-system-i386 -cdrom output/images/rootfs.iso9660
-------------------
----
Or use it as a hard-drive image if it is a hybrid ISO:
-------------------
----
qemu-system-i386 -hda output/images/rootfs.iso9660
-------------------
----
It can be easily flashed to a USB drive with +dd+:
-------------------
----
dd if=output/images/rootfs.iso9660 of=/dev/sdb
-------------------
----
=== Chroot
+2 -2
View File
@@ -28,13 +28,13 @@ misses, etc.) by running +make ccache-stats+.
The make target +ccache-options+ and the +CCACHE_OPTIONS+ variable
provide more generic access to the ccache. For example
-----------------
----
# set cache limit size
make CCACHE_OPTIONS="--max-size=5G" ccache-options
# zero statistics counters
make CCACHE_OPTIONS="--zero-stats" ccache-options
-----------------
----
+ccache+ makes a hash of the source files and of the compiler options.
If a compiler option is different, the cached object file will not be
+32 -32
View File
@@ -13,9 +13,9 @@ If you intend to do an offline build and just want to download
all sources that you previously selected in the configurator
('menuconfig', 'nconfig', 'xconfig' or 'gconfig'), then issue:
--------------------
----
$ make source
--------------------
----
You can now disconnect or copy the content of your +dl+
directory to the build-host.
@@ -29,15 +29,15 @@ Buildroot also supports building out of tree with a syntax similar to
the Linux kernel. To use it, add +O=<directory>+ to the make command
line:
--------------------
----
$ make O=/tmp/build menuconfig
--------------------
----
Or:
--------------------
----
$ cd /tmp/build; make O=$PWD -C path/to/buildroot menuconfig
--------------------
----
All the output files will be located under +/tmp/build+. If the +O+
path does not exist, Buildroot will create it.
@@ -56,9 +56,9 @@ For ease of use, Buildroot generates a Makefile wrapper in the output
directory - so after the first run, you no longer need to pass +O=<...>+
and +-C <...>+, simply run (in the output directory):
--------------------
----
$ make <target>
--------------------
----
[[env-vars]]
@@ -108,16 +108,16 @@ to +make+ or set in the environment:
An example that uses config files located in the toplevel directory and
in your $HOME:
--------------------
----
$ make UCLIBC_CONFIG_FILE=uClibc.config BUSYBOX_CONFIG_FILE=$HOME/bb.config
--------------------
----
If you want to use a compiler other than the default +gcc+
or +g+++ for building helper-binaries on your host, then do
--------------------
----
$ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD
--------------------
----
=== Dealing efficiently with filesystem images
@@ -166,9 +166,9 @@ packages in the current configuration, together with their
dependencies, licenses and other metadata. This JSON blurb is produced
by using the +show-info+ make target:
------------------------
----
make show-info
------------------------
----
Buildroot can also produce details about packages as HTML and JSON
output using the +pkg-stats+ make target. Amongst other things, these
@@ -176,9 +176,9 @@ details include whether known CVEs (security vulnerabilities) affect
the packages in your current configuration. It also shows if there is
a newer upstream version for those packages.
------------------------
----
make pkg-stats
------------------------
----
=== Graphing the dependencies between packages
@@ -198,9 +198,9 @@ graphs.
To generate a dependency graph of the full system you have compiled,
simply run:
------------------------
----
make graph-depends
------------------------
----
You will find the generated graph in
+output/graphs/graph-depends.pdf+.
@@ -209,9 +209,9 @@ If your system is quite large, the dependency graph may be too complex
and difficult to read. It is therefore possible to generate the
dependency graph just for a given package:
------------------------
----
make <pkg>-graph-depends
------------------------
----
You will find the generated graph in
+output/graph/<pkg>-graph-depends.pdf+.
@@ -227,9 +227,9 @@ can switch to other output formats, such as PNG, PostScript or
SVG. All formats supported by the +-T+ option of the +dot+ tool are
supported.
--------------------------------
----
BR2_GRAPH_OUT=svg make graph-depends
--------------------------------
----
The +graph-depends+ behaviour can be controlled by setting options in the
+BR2_GRAPH_DEPS_OPTS+ environment variable. The accepted options are:
@@ -253,9 +253,9 @@ The +graph-depends+ behaviour can be controlled by setting options in the
root package (+R+), the target packages (+T+) and the host packages
(+H+). Defaults to: +lightblue,grey,gainsboro+
--------------------------------
----
BR2_GRAPH_DEPS_OPTS='-d 3 --no-transitive --colors=red,green,blue' make graph-depends
--------------------------------
----
=== Graphing the build duration
@@ -269,9 +269,9 @@ step of each package, and allows to generate graphs from this data.
To generate the build time graph after a build, run:
----------------
----
make graph-build
----------------
----
This will generate a set of files in +output/graphs+ :
@@ -299,9 +299,9 @@ By default, the output format for the graph is PDF, but a different
format can be selected using the +BR2_GRAPH_OUT+ environment variable. The
only other format supported is PNG:
----------------
----
BR2_GRAPH_OUT=png make graph-build
----------------
----
[[graph-size]]
=== Graphing the filesystem size contribution of packages
@@ -315,9 +315,9 @@ the different packages.
To generate these data after a build, run:
----------------
----
make graph-size
----------------
----
This will generate:
@@ -366,9 +366,9 @@ Buildroot release, use the +size-stats-compare+ script. It takes two
+file-size-stats.csv+ files (produced by +make graph-size+) as input.
Refer to the help text of this script for more details:
----------------
----
utils/size-stats-compare -h
----------------
----
[[top-level-parallel-build]]
=== Top-level parallel build
+2 -2
View File
@@ -252,9 +252,9 @@ Then, we can trigger the build, and also ask Buildroot to generate a
SDK. This will conveniently generate for us a tarball which contains
our toolchain:
-----
----
make sdk
-----
----
This produces the SDK tarball in +$(O)/images+, with a name similar to
+arm-buildroot-linux-uclibcgnueabi_sdk-buildroot.tar.gz+. Save this
+42 -42
View File
@@ -72,9 +72,9 @@ basically two things that can be done:
can be removed.
In the commit message of a patch fixing an autobuild failure, add a
reference to the build result directory, as follows:
---------------------
----
Fixes: http://autobuild.buildroot.org/results/51000a9d4656afe9e0ea6f07b9f8ed374c2e4069
---------------------
----
=== Reviewing and testing patches
@@ -153,10 +153,10 @@ When browsing patches in the patchwork management interface, an +mbox+
link is provided at the top of the page. Copy this link address and
run the following commands:
---------------------
----
$ git checkout -b <test-branch-name>
$ wget -O - <mbox-url> | git am
---------------------
----
Another option for applying patches is to create a bundle. A bundle is
a set of patches that you can group together using the patchwork
@@ -306,24 +306,24 @@ Starting from the changes committed in your local git view, _rebase_
your development branch on top of the upstream tree before generating
a patch set. To do so, run:
---------------------
----
$ git fetch --all --tags
$ git rebase origin/master
---------------------
----
Now check the coding style for the changes you committed:
---------------------
----
$ utils/docker-run make check-package
---------------------
----
Now, you are ready to generate then submit your patch set.
To generate it, run:
---------------------
----
$ git format-patch -M -n -s -o outgoing origin/master
---------------------
----
This will generate patch files in the +outgoing+ subdirectory,
automatically adding the +Signed-off-by+ line.
@@ -336,37 +336,37 @@ sent, called +get-developers+ (see xref:DEVELOPERS[] for more
information). This tool reads your patches and outputs the appropriate
+git send-email+ command to use:
---------------------
----
$ ./utils/get-developers outgoing/*
---------------------
----
Use the output of +get-developers+ to send your patches:
---------------------
----
$ git send-email --to buildroot@buildroot.org --cc bob --cc alice outgoing/*
---------------------
----
Alternatively, +get-developers -e+ can be used directly with the
+--cc-cmd+ argument to +git send-email+ to automatically CC the
affected developers:
---------------------
----
$ git send-email --to buildroot@buildroot.org \
--cc-cmd './utils/get-developers -e' origin/master
---------------------
----
+git+ can be configured to automatically do this out of the box with:
---------------------
----
$ git config sendemail.to buildroot@buildroot.org
$ git config sendemail.ccCmd "$(pwd)/utils/get-developers -e"
---------------------
----
And then just do:
---------------------
----
$ git send-email origin/master
---------------------
----
Note that +git+ should be configured to use your mail account.
To configure +git+, see +man git-send-email+ or https://git-send-email.io/.
@@ -427,10 +427,10 @@ should be based off the maintenance branch, and the patch subject prefix
must include the maintenance branch name (for example "[PATCH 2020.02.x]").
This can be done with the +git format-patch+ flag +--subject-prefix+:
---------------------
----
$ git format-patch --subject-prefix "PATCH 2020.02.x" \
-M -s -o outgoing origin/2020.02.x
---------------------
----
Then send the patches with +git send-email+, as described above.
@@ -458,7 +458,7 @@ be preserved forever in the +git+ history of the project.
Hereafter the recommended layout:
---------------
----
Patch title: short explanation, max 72 chars
A paragraph that explains the problem, and how it manifests itself. If
@@ -481,7 +481,7 @@ Changes v2 -> v3:
Changes v1 -> v2:
- alpha bravo (suggested by John)
- charly delta
---------------
----
Any patch revision should include the version number. The version number
is simply composed of the letter +v+ followed by an +integer+ greater or
@@ -490,17 +490,17 @@ equal to two (i.e. "PATCH v2", "PATCH v3" ...).
This can be easily handled with +git format-patch+ by using the option
+--subject-prefix+:
---------------------
----
$ git format-patch --subject-prefix "PATCH v4" \
-M -s -o outgoing origin/master
---------------------
----
Since git version 1.8.1, you can also use +-v <n>+ (where <n> is the
version number):
---------------------
----
$ git format-patch -v4 -M -s -o outgoing origin/master
---------------------
----
When you provide a new version of a patch, please mark the old one as
superseded in
@@ -579,7 +579,7 @@ cases can be listed by executing +support/testing/run-tests -l+. These tests
can all be run individually during test development from the console. Both
one at a time and selectively as a group of a subset of tests.
---------------------
----
$ support/testing/run-tests -l
List of tests
test_run (tests.utils.test_check_package.TestCheckPackage)
@@ -606,11 +606,11 @@ test_run (tests.init.test_busybox.TestInitSystemBusyboxRwNet) ... ok
Ran 157 tests in 0.021s
OK
---------------------
----
* Then, to run one test case:
---------------------
----
$ support/testing/run-tests -d dl -o output_folder -k tests.init.test_busybox.TestInitSystemBusyboxRw
15:03:26 TestInitSystemBusyboxRw Starting
15:03:28 TestInitSystemBusyboxRw Building
@@ -620,7 +620,7 @@ $ support/testing/run-tests -d dl -o output_folder -k tests.init.test_busybox.Te
Ran 1 test in 301.140s
OK
---------------------
----
The standard output indicates if the test is successful or not. By
default, the output folder for the test is deleted automatically
@@ -674,12 +674,12 @@ be the maintainer of that test case.
When a test case runs, the +output_folder+ will contain the following:
---------------------
----
$ ls output_folder/
TestInitSystemBusyboxRw/
TestInitSystemBusyboxRw-build.log
TestInitSystemBusyboxRw-run.log
---------------------
----
+TestInitSystemBusyboxRw/+ is the Buildroot output directory, and it
is preserved only if the +-k+ option is passed.
@@ -721,28 +721,28 @@ arbitrary string you choose.
* To trigger all run-test test case jobs, push a branch that ends with
+-runtime-tests+:
---------------------
----
$ git push gitlab HEAD:<name>-runtime-tests
---------------------
----
* To trigger one or several test case jobs, push a branch that ends
with the complete test case name
(+tests.init.test_busybox.TestInitSystemBusyboxRo+) or with the name
of a category of tests (+tests.init.test_busybox+):
---------------------
----
$ git push gitlab HEAD:<name>-<test case name>
---------------------
----
Example to run one test:
---------------------
----
$ git push gitlab HEAD:foo-tests.init.test_busybox.TestInitSystemBusyboxRo
---------------------
----
Examples to run several tests part of the same group:
---------------------
----
$ git push gitlab HEAD:foo-tests.init.test_busybox
$ git push gitlab HEAD:foo-tests.init
---------------------
----
@@ -16,7 +16,7 @@ this structure itself: either inside the Buildroot tree, or outside of
it using a br2-external tree. Both options are valid, the choice is up
to you.
-----
----
+-- board/
| +-- <company>/
| +-- <boardname>/
@@ -51,7 +51,7 @@ to you.
+-- Config.in (if using a br2-external tree)
+-- external.mk (if using a br2-external tree)
+-- external.desc (if using a br2-external tree)
------
----
Details on the files shown above are given further in this chapter.
@@ -79,7 +79,7 @@ more than two layers.
An example directory structure for where a user has two customization
layers 'common' and 'fooboard' is:
-----
----
+-- board/
+-- <company>/
+-- common/
@@ -98,14 +98,14 @@ layers 'common' and 'fooboard' is:
| +-- ...
+-- patches/
+-- ...
-----
----
For example, if the user has the +BR2_GLOBAL_PATCH_DIR+ configuration
option set as:
-----
----
BR2_GLOBAL_PATCH_DIR="board/<company>/common/patches board/<company>/fooboard/patches"
-----
----
then first the patches from the 'common' layer would be applied,
followed by the patches from the 'fooboard' layer.
+12 -12
View File
@@ -40,23 +40,23 @@ xref:br2-external-converting[] for help on doing so.
Some examples:
-----
----
buildroot/ $ make BR2_EXTERNAL=/path/to/foo menuconfig
-----
----
From now on, definitions from the +/path/to/foo+ br2-external tree
will be used:
-----
----
buildroot/ $ make
buildroot/ $ make legal-info
-----
----
We can switch to another br2-external tree at any time:
-----
----
buildroot/ $ make BR2_EXTERNAL=/where/we/have/bar xconfig
-----
----
We can also use multiple br2-external trees:
@@ -66,9 +66,9 @@ buildroot/ $ make BR2_EXTERNAL=/path/to/foo:/where/we/have/bar menuconfig
Or disable the usage of any br2-external tree:
-----
----
buildroot/ $ make BR2_EXTERNAL= xconfig
-----
----
==== Layout of a br2-external tree
@@ -152,16 +152,16 @@ makefile logic.
The main usage of this is to store package recipes. The recommended way
to do this is to write a +Config.in+ file that looks like:
------
----
source "$BR2_EXTERNAL_BAR_42_PATH/package/package1/Config.in"
source "$BR2_EXTERNAL_BAR_42_PATH/package/package2/Config.in"
------
----
Then, have an +external.mk+ file that looks like:
------
----
include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk))
------
----
And then in +$(BR2_EXTERNAL_BAR_42_PATH)/package/package1+ and
+$(BR2_EXTERNAL_BAR_42_PATH)/package/package2+ create normal
+4 -4
View File
@@ -34,19 +34,19 @@ includes these additional +.mk+ files. Therefore, create a file
+package/<company>/<company>.mk+ with following contents (assuming you
have only one extra directory level below +package/<company>/+):
-----
----
include $(sort $(wildcard package/<company>/*/*.mk))
-----
----
For the +Config.in+ files, create a file +package/<company>/Config.in+
that includes the +Config.in+ files of all your packages. An exhaustive
list has to be provided since wildcards are not supported in the source command of kconfig.
For example:
-----
----
source "package/<company>/package1/Config.in"
source "package/<company>/package2/Config.in"
-----
----
Include this new file +package/<company>/Config.in+ from
+package/Config.in+, preferably in a company-specific menu to make
+2 -2
View File
@@ -18,9 +18,9 @@ shared download location. This can be achieved by pointing the
set, then the value of +BR2_DL_DIR+ in the Buildroot configuration is
overridden. The following line should be added to +<~/.bashrc>+.
-----------------
----
export BR2_DL_DIR=<shared download location>
-----------------
----
The download location can also be set in the +.config+ file, with the
+BR2_DL_DIR+ option. Unlike most options in the .config file, this value
+2 -2
View File
@@ -10,12 +10,12 @@ If the boot process seems to hang after the following messages
(messages not necessarily exactly similar, depending on the list of
packages selected):
------------------------
----
Freeing init memory: 3972K
Initializing random number generator... done.
Starting network...
Starting dropbear sshd: generating rsa key... generating dsa key... OK
------------------------
----
then it means that your system is running, but didn't start a shell on
the serial console. In order to have the system start a shell on your
+4 -4
View File
@@ -18,17 +18,17 @@ get started.
If you want to setup an isolated buildroot environment on Linux or Mac
Os X, paste this line onto your terminal:
--------------------
----
curl -O https://buildroot.org/downloads/Vagrantfile; vagrant up
--------------------
----
If you are on Windows, paste this into your powershell:
--------------------
----
(new-object System.Net.WebClient).DownloadFile(
"https://buildroot.org/downloads/Vagrantfile","Vagrantfile");
vagrant up
--------------------
----
If you want to follow development, you can use the daily snapshots or
make a clone of the Git repository. Refer to the
+2 -2
View File
@@ -24,9 +24,9 @@ To make this easier for you, Buildroot can collect for you some material you
will probably need. To produce this material, after you have configured
Buildroot with +make menuconfig+, +make xconfig+ or +make gconfig+, run:
--------------------
----
make legal-info
--------------------
----
Buildroot will collect legally-relevant material in your output directory,
under the +legal-info/+ subdirectory.
+12 -12
View File
@@ -8,21 +8,21 @@ This is a collection of tips that help you make the most of Buildroot.
.Display all commands executed by make:
--------------------
----
$ make V=1 <target>
--------------------
----
.Display the list of boards with a defconfig:
--------------------
----
$ make list-defconfigs
--------------------
----
.Display all available targets:
--------------------
----
$ make help
--------------------
----
Not all targets are always available,
some settings in the +.config+ file may hide some targets:
@@ -46,19 +46,19 @@ configuration options are changed.
To delete all build products (including build directories, host, staging
and target trees, the images and the toolchain):
--------------------
----
$ make clean
--------------------
----
.Generating the manual:
The present manual sources are located in the 'docs/manual' directory.
To generate the manual:
---------------------------------
----
$ make manual-clean
$ make manual
---------------------------------
----
The manual outputs will be generated in 'output/docs/manual'.
@@ -70,9 +70,9 @@ The manual outputs will be generated in 'output/docs/manual'.
To delete all build products as well as the configuration:
--------------------
----
$ make distclean
--------------------
----
.Notes
If +ccache+ is enabled, running +make clean+ or +distclean+ does
+2 -2
View File
@@ -12,9 +12,9 @@ For packages relying on the Buildroot infrastructure, there are
numerous special make targets that can be called independently like
this:
------------
----
make <package>-<target>
------------
----
The package build targets are (in the order they are executed):
+8 -8
View File
@@ -122,7 +122,7 @@ removed, but do update the rest of the patch comment when appropriate.
At the end, the patch should look like:
---------------
----
configure.ac: add C++ support test
Signed-off-by: John Doe <john.doe@noname.org>
@@ -142,7 +142,7 @@ AC_PROG_MAKE_SET
+ AC_LANG_POP([C++])])
+
+AM_CONDITIONAL([CXX_WORKS], [test "x$rw_cv_prog_cxx_works" = "xyes"])
---------------
----
=== Additional patch documentation
@@ -152,17 +152,17 @@ applicable, via the +Upstream+ trailer.
When backporting an upstream patch that has been accepted into mainline, it is
preferred that the URL to the commit is referenced:
---------------
----
Upstream: <URL to upstream commit>
---------------
----
If a new issue is identified in Buildroot and upstream is generally affected by
the issue (it's not a Buildroot specific issue), users should submit the patch
upstream and provide a link to that submission when possible:
---------------
----
Upstream: <URL to upstream mailing list submission or merge request>
---------------
----
Patches that have been submitted but were denied upstream should note that and
include comments about why the patch is being used despite the upstream status.
@@ -172,9 +172,9 @@ about any changes to the patch that may have been necessary.
If a patch does not apply upstream then this should be noted with a comment:
---------------
----
Upstream: N/A <additional information about why patch is Buildroot specific>
---------------
----
Adding this documentation helps streamline the patch review process during
package version updates.
+10 -10
View File
@@ -15,27 +15,27 @@ http://www.busybox.net/[BusyBox].
From the buildroot directory, run
--------------------
----
$ make menuconfig
--------------------
----
for the original curses-based configurator, or
--------------------
----
$ make nconfig
--------------------
----
for the new curses-based configurator, or
--------------------
----
$ make xconfig
--------------------
----
for the Qt-based configurator, or
--------------------
----
$ make gconfig
--------------------
----
for the GTK-based configurator.
@@ -56,9 +56,9 @@ read by the top-level Makefile.
To start the build process, simply run:
--------------------
----
$ make
--------------------
----
By default, Buildroot does not support top-level parallel build, so
running +make -jN+ is not necessary. There is however experimental
+2 -2
View File
@@ -86,9 +86,9 @@ necessary, and you will save more and more time.
For reference, a full rebuild is achieved by running:
---------------
----
$ make clean all
---------------
----
[[rebuild-pkg]]
=== Understanding how to rebuild packages
+6 -6
View File
@@ -24,9 +24,9 @@ To achieve this:
Now, to start debugging a program called +foo+, you should run on the
target:
----------------------------
----
gdbserver :2345 foo
----------------------------
----
This will cause +gdbserver+ to listen on TCP port 2345 for a connection
from the cross gdb.
@@ -34,9 +34,9 @@ from the cross gdb.
Then, on the host, you should start the cross gdb using the following
command line:
----------------------------
----
<buildroot>/output/host/bin/<tuple>-gdb -ix <buildroot>/output/staging/usr/share/buildroot/gdbinit foo
----------------------------
----
Of course, +foo+ must be available in the current directory, built
with debugging symbols. Typically you start this command from the
@@ -48,6 +48,6 @@ cross gdb where to find the libraries of the target.
Finally, to connect to the target from the cross gdb:
----------------------------
----
(gdb) target remote <target ip address>:2345
----------------------------
----
+12 -12
View File
@@ -47,17 +47,17 @@ option.
In this _override_ file, Buildroot expects to find lines of the form:
------------------
----
<pkg1>_OVERRIDE_SRCDIR = /path/to/pkg1/sources
<pkg2>_OVERRIDE_SRCDIR = /path/to/pkg2/sources
------------------
----
For example:
------------------
----
LINUX_OVERRIDE_SRCDIR = /home/bob/linux/
BUSYBOX_OVERRIDE_SRCDIR = /home/bob/busybox/
------------------
----
When Buildroot finds that for a given package, an
+<pkg>_OVERRIDE_SRCDIR+ has been defined, it will no longer attempt to
@@ -79,17 +79,17 @@ process of just this package.
In the example of the +linux+ package above, the developer can then
make a source code change in +/home/bob/linux+ and then run:
-----------------------
----
make linux-rebuild all
-----------------------
----
and in a matter of seconds gets the updated Linux kernel image in
+output/images+. Similarly, a change can be made to the BusyBox source
code in +/home/bob/busybox+, and after:
-----------------------
----
make busybox-rebuild all
-----------------------
----
the root filesystem image in +output/images+ contains the updated
BusyBox.
@@ -102,13 +102,13 @@ from the source tree. For example, when working on the +webkitgtk+
package, the following will exclude the tests and in-tree builds from
a local WebKit source tree:
------------------
----
WEBKITGTK_OVERRIDE_SRCDIR = /home/bob/WebKit
WEBKITGTK_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = \
--exclude JSTests --exclude ManualTests --exclude PerformanceTests \
--exclude WebDriverTests --exclude WebKitBuild --exclude WebKitLibraries \
--exclude WebKit.xcworkspace --exclude Websites --exclude Examples
------------------
----
By default, Buildroot skips syncing of VCS artifacts (e.g., the *.git* and
*.svn* directories). Some packages prefer to have these VCS directories
@@ -116,6 +116,6 @@ available during build, for example for automatically determining a precise
commit reference for version information. To undo this built-in filtering at a
cost of a slower speed, add these directories back:
------------------
----
LINUX_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = --include .git
------------------
----
+18 -18
View File
@@ -23,7 +23,7 @@ Buildroot.
An entry has the following pattern:
---------------------
----
config BR2_PACKAGE_LIBFOO
bool "libfoo"
depends on BR2_PACKAGE_LIBBAZ
@@ -33,7 +33,7 @@ config BR2_PACKAGE_LIBFOO
should be wrapped.
http://foosoftware.org/libfoo/
---------------------
----
* The +bool+, +depends on+, +select+ and +help+ lines are indented
with one tab.
@@ -57,31 +57,31 @@ http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt[].
preferably in lowercase, enclosed between separators made of 80 hashes. A
blank line is mandatory after the header:
+
---------------------
----
################################################################################
#
# libfoo
#
################################################################################
---------------------
----
+
* Assignment: use +=+ preceded and followed by one space:
+
---------------------
----
LIBFOO_VERSION = 1.0
LIBFOO_CONF_OPTS += --without-python-support
---------------------
----
+
Do not align the +=+ signs.
* Indentation: use tab only:
+
---------------------
----
define LIBFOO_REMOVE_DOC
$(RM) -r $(TARGET_DIR)/usr/share/libfoo/doc \
$(TARGET_DIR)/usr/share/man/man3/libfoo*
endef
---------------------
----
+
Note that commands inside a +define+ block should always start with a tab,
so _make_ recognizes them as commands.
@@ -92,21 +92,21 @@ so _make_ recognizes them as commands.
+
YES:
+
---------------------
----
ifeq ($(BR2_PACKAGE_PYTHON3),y)
LIBFOO_CONF_OPTS += --with-python-support
LIBFOO_DEPENDENCIES += python3
else
LIBFOO_CONF_OPTS += --without-python-support
endif
---------------------
----
+
NO:
+
---------------------
----
LIBFOO_CONF_OPTS += --with$(if $(BR2_PACKAGE_PYTHON3),,out)-python-support
LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON3),python3,)
---------------------
----
** Keep configure options and dependencies close together.
@@ -115,18 +115,18 @@ LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON3),python3,)
+
YES:
+
---------------------
----
ifneq ($(BR2_LIBFOO_INSTALL_DATA),y)
define LIBFOO_REMOVE_DATA
$(RM) -r $(TARGET_DIR)/usr/share/libfoo/data
endef
LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA
endif
---------------------
----
+
NO:
+
---------------------
----
define LIBFOO_REMOVE_DATA
$(RM) -r $(TARGET_DIR)/usr/share/libfoo/data
endef
@@ -134,7 +134,7 @@ endef
ifneq ($(BR2_LIBFOO_INSTALL_DATA),y)
LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA
endif
---------------------
----
[[writing-genimage-cfg]]
@@ -145,7 +145,7 @@ uses to create final .img file.
An example follows:
---------------------
----
image efi-part.vfat {
vfat {
file EFI {
@@ -174,7 +174,7 @@ image sdimage.img {
size = 512M
}
}
---------------------
----
* Every +section+(i.e. hdimage, vfat etc.), +partition+ must be indented
with one tab.
@@ -0,0 +1,54 @@
From 9724d78fda4eb023f83d2fd30e665b436d7a7f97 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Sun, 14 Jul 2024 11:41:10 +0200
Subject: [PATCH] core/fastboot/fastboot.c: reorder functions to avoid implicit
definition
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The match_fastboot() function uses match_fastboot_with_serial() but is
implemented before it, causing an implicit definition. Re-order the
functions to avoid this.
Fixes:
core/fastboot/fastboot.c:191:12: error: implicit declaration of function ‘match_fastboot_with_serial’ [-Wimplicit-function-declaration]
Upstream: N/A, we're too far from upstream
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
core/fastboot/fastboot.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/core/fastboot/fastboot.c b/core/fastboot/fastboot.c
index 3de6d7d..9b2c86f 100644
--- a/core/fastboot/fastboot.c
+++ b/core/fastboot/fastboot.c
@@ -186,11 +186,6 @@ oops:
}
#endif
-int match_fastboot(usb_ifc_info *info)
-{
- return match_fastboot_with_serial(info, serial);
-}
-
int match_fastboot_with_serial(usb_ifc_info *info, const char *local_serial)
{
if(!(vendor_id && (info->dev_vendor == vendor_id)) &&
@@ -217,6 +212,11 @@ int match_fastboot_with_serial(usb_ifc_info *info, const char *local_serial)
return 0;
}
+int match_fastboot(usb_ifc_info *info)
+{
+ return match_fastboot_with_serial(info, serial);
+}
+
int list_devices_callback(usb_ifc_info *info)
{
if (match_fastboot_with_serial(info, NULL) == 0) {
--
2.45.2
@@ -0,0 +1,37 @@
From 2812c2005cfa4bfc5741651c8310e36f28c0327e Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Sun, 14 Jul 2024 11:41:56 +0200
Subject: [PATCH] core/libsparse/sparse_read.c: add missing output_file.h
include
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
sparse_read.c uses read_all() without including the header file
containing its prototype, causing:
core/libsparse/sparse_read.c:122:31: error: implicit declaration of function ‘read_all’ [-Wimplicit-function-declaration]
Fix this by including output_file.h.
Upstream: N/A, we're too far from upstream
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
core/libsparse/sparse_read.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/core/libsparse/sparse_read.c b/core/libsparse/sparse_read.c
index 704bcfa..0a8f838 100644
--- a/core/libsparse/sparse_read.c
+++ b/core/libsparse/sparse_read.c
@@ -32,6 +32,7 @@
#include "sparse_crc32.h"
#include "sparse_file.h"
#include "sparse_format.h"
+#include "output_file.h"
#if defined(__APPLE__) && defined(__MACH__)
#define lseek64 lseek
--
2.45.2
@@ -0,0 +1,54 @@
From 83f9bed233b86dd2bbf603611b13b673caeccb69 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Sun, 14 Jul 2024 11:46:51 +0200
Subject: [PATCH] extras/ext4_utils/make_ext4fs_main.c: disable
Android-specific code
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Since we are not building with the Android code, we do not have the
implementation of the selinux_android_file_context_handle(). However,
its only call site is when 'mountpoint' is set, and 'mountpoint'
cannot be non-NULL in non-Android cases due to how the -a option is
parsed:
case 'a':
#ifdef ANDROID
fs_config_func = fs_config;
mountpoint = optarg;
#else
fprintf(stderr, "can't set android permissions - built without android support\n");
usage(argv[0]);
exit(EXIT_FAILURE);
#endif
So also compile out the code calling
selinux_android_file_context_handle() when ANDROID is not set.
Fixes:
make_ext4fs_main.c:155:25: error: implicit declaration of function ‘selinux_android_file_context_handle’ [-Wimplicit-function-declaration]
Upstream: N/A, we're too far from upstream
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
extras/ext4_utils/make_ext4fs_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/extras/ext4_utils/make_ext4fs_main.c b/extras/ext4_utils/make_ext4fs_main.c
index 17d3735..cb58011 100644
--- a/extras/ext4_utils/make_ext4fs_main.c
+++ b/extras/ext4_utils/make_ext4fs_main.c
@@ -149,7 +149,7 @@ int main(int argc, char **argv)
}
}
-#if !defined(HOST)
+#if !defined(HOST) && defined(ANDROID)
// Use only if -S option not requested
if (!sehnd && mountpoint) {
sehnd = selinux_android_file_context_handle();
--
2.45.2
@@ -0,0 +1,52 @@
From 2b5060146b0890f7f1a63ef891af1358b8cdf9bc Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Sun, 14 Jul 2024 12:57:22 +0200
Subject: [PATCH] core/adbd/adb.c: open code capset()
capset() is apparently implemented by C libraries (at least glibc and
musl), but not exposed through a header as an official public API.
In addition capset(2) says:
Note: glibc provides no wrappers for these system calls,
necessitating the use of syscall(2)
The lack of a header with a prototype for capset() was not causing any
problem so far, but GCC 14.x has become stricter on implicit
declarations, causing the build to fail with:
core/adbd/adb.c:1296:9: error: implicit declaration of function 'capset' [-Wimplicit-function-declaration]
So fix that by open-coding it using syscall() as suggested by the man
page.
Upstream: N/A, we're too far from upstream
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
core/adbd/adb.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/core/adbd/adb.c b/core/adbd/adb.c
index 7fe6445..98b1de1 100644
--- a/core/adbd/adb.c
+++ b/core/adbd/adb.c
@@ -41,6 +41,7 @@
#if !ADB_HOST
#include "android_filesystem_config.h"
#include <linux/capability.h>
+#include <sys/syscall.h>
#include <linux/prctl.h>
#include <sys/mount.h>
#else
@@ -1293,7 +1294,7 @@ int adb_main(int is_daemon, int server_port)
header.pid = 0;
cap[CAP_TO_INDEX(CAP_SYS_BOOT)].effective |= CAP_TO_MASK(CAP_SYS_BOOT);
cap[CAP_TO_INDEX(CAP_SYS_BOOT)].permitted |= CAP_TO_MASK(CAP_SYS_BOOT);
- capset(&header, cap);
+ syscall(SYS_capset, &header, cap);
D("Local port disabled\n");
} else {
--
2.45.2
@@ -0,0 +1,34 @@
From c14070011e070d8674cf3578708cbae433090a47 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Sun, 14 Jul 2024 13:00:02 +0200
Subject: [PATCH] core/adbd/adb.c: include correct header for prctl()
As documented by prctl(2), the correct header to include for prctl()
is <sys/prctl.h>, not <linux/prctl.h>.
Fixes:
core/adbd/adb.c:1256:13: error: implicit declaration of function 'prctl' [-Wimplicit-function-declaration]
Upstream: N/A, we're too far from upstream
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
core/adbd/adb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/adbd/adb.c b/core/adbd/adb.c
index 98b1de1..10f420b 100644
--- a/core/adbd/adb.c
+++ b/core/adbd/adb.c
@@ -42,7 +42,7 @@
#include "android_filesystem_config.h"
#include <linux/capability.h>
#include <sys/syscall.h>
-#include <linux/prctl.h>
+#include <sys/prctl.h>
#include <sys/mount.h>
#else
#include "usb_vendors.h"
--
2.45.2
+8 -3
View File
@@ -38,8 +38,13 @@ config BR2_PACKAGE_BCC
https://github.com/iovisor/bcc
http://www.ebpf.io
comment "bcc needs a glibc toolchain, C++, gcc >= 7, host gcc >= 7"
comment "bcc needs a glibc toolchain, C++, wchar, threads, dynamic libs, gcc >= 7, host gcc >= 7"
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
depends on BR2_USE_MMU
depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP \
|| !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_HOST_GCC_AT_LEAST_7
depends on !BR2_TOOLCHAIN_USES_GLIBC \
|| !BR2_TOOLCHAIN_GCC_AT_LEAST_7 \
|| !BR2_INSTALL_LIBSTDCPP \
|| !BR2_HOST_GCC_AT_LEAST_7 \
|| !BR2_USE_WCHAR \
|| !BR2_TOOLCHAIN_HAS_THREADS \
|| BR2_STATIC_LIBS
+3 -3
View File
@@ -1,7 +1,7 @@
# Hash from: https://bitcoincore.org/bin/bitcoin-core-26.0/SHA256SUMS
# Hash from: https://bitcoincore.org/bin/bitcoin-core-26.2/SHA256SUMS
# After checking pgp signature from:
# https://bitcoincore.org/bin/bitcoin-core-26.0/SHA256SUMS.asc
sha256 ab1d99276e28db62d1d9f3901e85ac358d7f1ebcb942d348a9c4e46f0fcdc0a1 bitcoin-26.0.tar.gz
# https://bitcoincore.org/bin/bitcoin-core-26.2/SHA256SUMS.asc
sha256 78d59418741f45cbdaa9bf20ebc49a5e95ff9f7172f72fc78d14307eaf341b3c bitcoin-26.2.tar.gz
# Hash for license file
sha256 a6331cd1f889397adfc0c3b0535682a20950c6cf8e5c712e9997a15ce98324e1 COPYING
+1 -1
View File
@@ -4,7 +4,7 @@
#
################################################################################
BITCOIN_VERSION = 26.0
BITCOIN_VERSION = 26.2
BITCOIN_SITE = https://bitcoincore.org/bin/bitcoin-core-$(BITCOIN_VERSION)
BITCOIN_AUTORECONF = YES
BITCOIN_LICENSE = MIT
+1 -1
View File
@@ -10,7 +10,7 @@ config BR2_PACKAGE_BTRFS_PROGS
help
Btrfs filesystem utilities
https://btrfs.wiki.kernel.org/index.php/Main_Page
https://btrfs.readthedocs.io
comment "btrfs-progs needs a toolchain w/ threads"
depends on BR2_USE_MMU
+1 -1
View File
@@ -5,7 +5,7 @@
################################################################################
C_ARES_VERSION = 1.27.0
C_ARES_SITE = http://c-ares.haxx.se/download
C_ARES_SITE = https://github.com/c-ares/c-ares/releases/download/cares-1_27_0
C_ARES_INSTALL_STAGING = YES
C_ARES_CONF_OPTS = --with-random=/dev/urandom
C_ARES_LICENSE = MIT
@@ -1,17 +1,20 @@
[PATCH] fix build with uClibc
From 13823cfe42f33e947f8375f5a3f9ee177c699960 Mon Sep 17 00:00:00 2001
From: Peter Korsgaard <jacmet@sunsite.dk>
Date: Sat, 13 Jul 2024 10:57:57 +0200
Subject: [PATCH] fix build with uClibc
cdrkit unconditionally enables code using rcmd(3), which isn't available
on uClibc.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
include/xconfig.h.in | 1 -
include/xconfig.h.in | 1 -
1 file changed, 1 deletion(-)
Index: cdrkit-1.1.10/include/xconfig.h.in
===================================================================
--- cdrkit-1.1.10.orig/include/xconfig.h.in
+++ cdrkit-1.1.10/include/xconfig.h.in
diff --git a/include/xconfig.h.in b/include/xconfig.h.in
index c130600..00f2044 100644
--- a/include/xconfig.h.in
+++ b/include/xconfig.h.in
@@ -187,7 +187,6 @@
* they are placed before the large file tests.
*/
@@ -20,3 +23,6 @@ Index: cdrkit-1.1.10/include/xconfig.h.in
#define HAVE_SOCKET 1 /* socket() is present in libc/libsocket */
#define HAVE_SOCKETPAIR 1 /* socketpair() is present in libc/libsocket */
#define HAVE_GETSERVBYNAME 1 /* getservbyname() is present in libc/libsocket */
--
2.45.2
@@ -0,0 +1,48 @@
From 8b7852149c45c8a837a9f5124e91812dd475a270 Mon Sep 17 00:00:00 2001
From: Andrey Rakhmatullin <wrar@debian.org>
Date: Sat, 13 Jul 2024 11:37:07 +0200
Subject: [PATCH] Add missing header includes
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bug-Debian: https://bugs.debian.org/1066264
Fixes:
genisoimage/genisoimage.c:1509:17: error: implicit declaration of function ‘parse_checksum_algo’ [-Wimplicit-function-declaration]
Upstream: https://sources.debian.org/patches/cdrkit/9:1.1.11-3.5/fix-implicit-function-declaration.patch/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
genisoimage/genisoimage.c | 1 +
genisoimage/jte.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/genisoimage/genisoimage.c b/genisoimage/genisoimage.c
index 46f0cb7..fa2f8bd 100644
--- a/genisoimage/genisoimage.c
+++ b/genisoimage/genisoimage.c
@@ -53,6 +53,7 @@
#include <ctype.h>
#include "match.h"
#include "exclude.h"
+#include "checksum.h"
#include <unls.h> /* For UNICODE translation */
#include <schily.h>
#ifdef UDF
diff --git a/genisoimage/jte.c b/genisoimage/jte.c
index 0dff289..4c4d986 100644
--- a/genisoimage/jte.c
+++ b/genisoimage/jte.c
@@ -27,6 +27,7 @@
#include "ifo_read.h"
#include "endianconv.h"
#include "checksum.h"
+#include "md5.h"
#endif
#ifdef APPLE_HYB
#include <ctype.h>
--
2.45.2
+1 -1
View File
@@ -10,4 +10,4 @@ config BR2_PACKAGE_CDRKIT
blanking CD-RW media, creating ISO-9660 filesystem images,
extracting audio CD data, and more.
http://www.cdrkit.org/
https://en.wikipedia.org/wiki/Cdrkit
@@ -0,0 +1,255 @@
From 2ae2137d724d5f3a70d5d2856cb979d389c4cbd8 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Fri, 12 Jul 2024 21:30:43 +0200
Subject: [PATCH] src/CMakeLists.txt: don't build shared libraries when not
enabled
BUILD_SHARED_LIBS is a standard CMake option [1] that specifies
whether shared libraries should be built or not. This commit adjusts
src/CMakeLists.txt to observe this variable to decide whether the
shared library variant should be built or not. This allows check to
only build a static library in environments where only a static
library can be compiled.
This needs a bit of refactoring to avoid duplication:
- Additional source files from libcompat are directly added to the
${SOURCES} variable as needed
- Additional libraries are collected into ${ADDITIONAL_LIBS} before
being associated to the static library and shared library (if enabled)
[1] https://cmake.org/cmake/help/latest/variable/BUILD_SHARED_LIBS.html
Fixes:
__uClibc_main.c:(.text+0x12c): undefined reference to `__fini_array_end'
/home/autobuild/autobuild/instance-20/output-1/host/lib/gcc/sparc-buildroot-linux-uclibc/13.3.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: __uClibc_main.c:(.text+0x130): undefined reference to `__fini_array_start'
/home/autobuild/autobuild/instance-20/output-1/host/lib/gcc/sparc-buildroot-linux-uclibc/13.3.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: __uClibc_main.c:(.text+0x134): undefined reference to `__fini_array_end'
Upstream: https://github.com/libcheck/check/pull/355
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
src/CMakeLists.txt | 137 ++++++++++++++++++++++-----------------------
1 file changed, 67 insertions(+), 70 deletions(-)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 4a02dbe..e0cf32b 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -31,117 +31,106 @@ set(SOURCES
check_run.c
check_str.c)
-set(HEADERS
- ${CONFIG_HEADER}
- ${CMAKE_CURRENT_BINARY_DIR}/check.h
- check.h.in
- check_error.h
- check_impl.h
- check_list.h
- check_log.h
- check_msg.h
- check_pack.h
- check_print.h
- check_str.h)
-
-configure_file(check.h.in check.h @ONLY)
-
-# To maintain compatibility with the Autotools installation
-# we specifically create both shared and static libraries
-# as that is what Autotools script has been doing.
-# Normally CMake would create the system's native default library type.
-
-add_library(check STATIC ${SOURCES} ${HEADERS})
-add_library(Check::check ALIAS check)
-
-
-# We would like to create an OBJECT library but currently they are
-# too unreliable and cumbersome,
-# especially with target_link_libraries and install(EXPORT...
-# https://stackoverflow.com/questions/38832528/transitive-target-include-directories-on-object-libraries
-# So we instead do the work twice.
-add_library(checkShared SHARED ${SOURCES} ${HEADERS})
-add_library(Check::checkShared ALIAS checkShared)
-
# Add parts of libcompat as required
-target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/fpclassify.c)
-target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/fpclassify.c)
+list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/fpclassify.c)
if (NOT HAVE_LIBRT)
- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/clock_gettime.c)
- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_create.c)
- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_delete.c)
- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_settime.c)
- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/clock_gettime.c)
- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_create.c)
- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_delete.c)
- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_settime.c)
+ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/clock_gettime.c)
+ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_create.c)
+ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_delete.c)
+ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_settime.c)
endif(NOT HAVE_LIBRT)
if(NOT HAVE_GETLINE)
- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/getline.c)
- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/getline.c)
+ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/getline.c)
endif(NOT HAVE_GETLINE)
if(NOT HAVE_GETTIMEOFDAY)
- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/gettimeofday.c)
- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/gettimeofday.c)
+ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/gettimeofday.c)
endif(NOT HAVE_GETTIMEOFDAY)
if(NOT HAVE_DECL_LOCALTIME_R)
- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/localtime_r.c)
- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/localtime_r.c)
+ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/localtime_r.c)
endif(NOT HAVE_DECL_LOCALTIME_R)
if(NOT HAVE_MALLOC)
- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/malloc.c)
- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/malloc.c)
+ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/malloc.c)
endif(NOT HAVE_MALLOC)
if(NOT HAVE_REALLOC)
- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/realloc.c)
- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/realloc.c)
+ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/realloc.c)
endif(NOT HAVE_REALLOC)
if(NOT HAVE_SNPRINTF)
- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/snprintf.c)
- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/snprintf.c)
+ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/snprintf.c)
endif(NOT HAVE_SNPRINTF)
if(NOT HAVE_DECL_STRDUP AND NOT HAVE__STRDUP)
- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/strdup.c)
- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/snprintf.c)
+ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/strdup.c)
endif(NOT HAVE_DECL_STRDUP AND NOT HAVE__STRDUP)
if(NOT HAVE_DECL_STRSIGNAL)
- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/strsignal.c)
- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/strsignal.c)
+ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/strsignal.c)
endif(NOT HAVE_DECL_STRSIGNAL)
if(NOT HAVE_DECL_ALARM)
- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/alarm.c)
- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/alarm.c)
+ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/alarm.c)
endif(NOT HAVE_DECL_ALARM)
if(NOT HAVE_PTHREAD)
- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/pthread_mutex.c)
- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/pthread_mutex.c)
+ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/pthread_mutex.c)
endif()
+set(HEADERS
+ ${CONFIG_HEADER}
+ ${CMAKE_CURRENT_BINARY_DIR}/check.h
+ check.h.in
+ check_error.h
+ check_impl.h
+ check_list.h
+ check_log.h
+ check_msg.h
+ check_pack.h
+ check_print.h
+ check_str.h)
+
+configure_file(check.h.in check.h @ONLY)
+
+# To maintain compatibility with the Autotools installation
+# we specifically create both shared and static libraries
+# as that is what Autotools script has been doing.
+# Normally CMake would create the system's native default library type.
+
+add_library(check STATIC ${SOURCES} ${HEADERS})
+add_library(Check::check ALIAS check)
+
+# We would like to create an OBJECT library but currently they are
+# too unreliable and cumbersome,
+# especially with target_link_libraries and install(EXPORT...
+# https://stackoverflow.com/questions/38832528/transitive-target-include-directories-on-object-libraries
+# So we instead do the work twice.
+if (BUILD_SHARED_LIBS)
+ add_library(checkShared SHARED ${SOURCES} ${HEADERS})
+ add_library(Check::checkShared ALIAS checkShared)
+endif (BUILD_SHARED_LIBS)
+
# Include libraries if available
if (HAVE_LIBM)
- target_link_libraries(check PUBLIC m)
- target_link_libraries(checkShared PUBLIC m)
+ list(APPEND ADDITIONAL_LIBS m)
endif (HAVE_LIBM)
if (HAVE_LIBRT)
- target_link_libraries(check PUBLIC rt)
- target_link_libraries(checkShared PUBLIC rt)
+ list(APPEND ADDITIONAL_LIBS rt)
endif (HAVE_LIBRT)
if (HAVE_SUBUNIT)
- target_link_libraries(check PUBLIC subunit)
- target_link_libraries(checkShared PUBLIC subunit)
+ list(APPEND ADDITIONAL_LIBS subunit)
endif (HAVE_SUBUNIT)
+target_link_libraries(check PUBLIC ${ADDITIONAL_LIBS})
+if (BUILD_SHARED_LIBS)
+ target_link_libraries(checkShared PUBLIC m)
+endif (BUILD_SHARED_LIBS)
+
+
if(MSVC)
target_compile_definitions(checkShared
PRIVATE "CK_DLL_EXP=_declspec(dllexport)"
@@ -168,27 +157,35 @@ if (MSVC)
# So we call it this:
set(LIBRARY_OUTPUT_NAME "checkDynamic")
endif (MSVC)
+if (BUILD_SHARED_LIBS)
set_target_properties(checkShared PROPERTIES
OUTPUT_NAME ${LIBRARY_OUTPUT_NAME}
VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_VERSION_MAJOR}
PUBLIC_HEADER "${public_headers}"
)
+endif (BUILD_SHARED_LIBS)
target_include_directories(check
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/..>
$<INSTALL_INTERFACE:include>
)
+if (BUILD_SHARED_LIBS)
target_include_directories(checkShared
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/..>
$<INSTALL_INTERFACE:include>
-)
+ )
+endif (BUILD_SHARED_LIBS)
if(NOT THIS_IS_SUBPROJECT)
- install(TARGETS check checkShared
+ if (BUILD_SHARED_LIBS)
+ set(SHARED_LIBNAME checkShared)
+ endif ()
+
+ install(TARGETS check ${SHARED_LIBNAME}
EXPORT check-targets
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
--
2.45.2
@@ -0,0 +1,82 @@
From c9bebf051aa7e3037ca8e0fe554e073204ffedde Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Fri, 12 Jul 2024 21:27:47 +0200
Subject: [PATCH] src/check_run.c: fix build on noMMU platforms
src/check_run.c defines sig_handler() under the following conditions:
#if defined(HAVE_FORK) && HAVE_FORK==1
however, it does use sig_handler under the following conditions:
#if defined(HAVE_SIGACTION) && defined(HAVE_FORK)
which breaks when HAVE_FORK is defined, but has the value HAVE_FORK=0,
as is the case on noMMU platforms.
This commit fixes this by ensuring that the build conditions are
aligned throughout check_run.c.
Fixes:
src/check_run.c: In function 'srunner_run_tagged':
src/check_run.c:802:38: error: 'sig_handler' undeclared (first use in this function); did you mean 'sa_handler'?
[...]
Upstream: https://github.com/libcheck/check/pull/354
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
src/check_run.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/check_run.c b/src/check_run.c
index 5f160e5..4c370b3 100644
--- a/src/check_run.c
+++ b/src/check_run.c
@@ -772,12 +772,12 @@ void srunner_run_tagged(SRunner * sr, const char *sname, const char *tcname,
const char *include_tags, const char *exclude_tags,
enum print_output print_mode)
{
-#if defined(HAVE_SIGACTION) && defined(HAVE_FORK)
+#if defined(HAVE_SIGACTION) && defined(HAVE_FORK) && HAVE_FORK==1
static struct sigaction sigalarm_old_action;
static struct sigaction sigalarm_new_action;
static struct sigaction sigint_new_action;
static struct sigaction sigterm_new_action;
-#endif /* HAVE_SIGACTION && HAVE_FORK */
+#endif /* HAVE_SIGACTION && HAVE_FORK && HAVE_FORK==1 */
/* Get the selected test suite and test case from the
environment. */
@@ -797,7 +797,7 @@ void srunner_run_tagged(SRunner * sr, const char *sname, const char *tcname,
eprintf("Bad print_mode argument to srunner_run_all: %d",
__FILE__, __LINE__, print_mode);
}
-#if defined(HAVE_SIGACTION) && defined(HAVE_FORK)
+#if defined(HAVE_SIGACTION) && defined(HAVE_FORK) && HAVE_FORK==1
memset(&sigalarm_new_action, 0, sizeof(sigalarm_new_action));
sigalarm_new_action.sa_handler = sig_handler;
sigaction(SIGALRM, &sigalarm_new_action, &sigalarm_old_action);
@@ -809,16 +809,16 @@ void srunner_run_tagged(SRunner * sr, const char *sname, const char *tcname,
memset(&sigterm_new_action, 0, sizeof(sigterm_new_action));
sigterm_new_action.sa_handler = sig_handler;
sigaction(SIGTERM, &sigterm_new_action, &sigterm_old_action);
-#endif /* HAVE_SIGACTION && HAVE_FORK */
+#endif /* HAVE_SIGACTION && HAVE_FORK && HAVE_FORK==1 */
srunner_run_init(sr, print_mode);
srunner_iterate_suites(sr, sname, tcname, include_tags, exclude_tags,
print_mode);
srunner_run_end(sr, print_mode);
-#if defined(HAVE_SIGACTION) && defined(HAVE_FORK)
+#if defined(HAVE_SIGACTION) && defined(HAVE_FORK) && HAVE_FORK==1
sigaction(SIGALRM, &sigalarm_old_action, NULL);
sigaction(SIGINT, &sigint_old_action, NULL);
sigaction(SIGTERM, &sigterm_old_action, NULL);
-#endif /* HAVE_SIGACTION && HAVE_FORK */
+#endif /* HAVE_SIGACTION && HAVE_FORK && HAVE_FORK==1 */
}
void srunner_run(SRunner * sr, const char *sname, const char *tcname,
--
2.45.2
+1 -1
View File
@@ -1,3 +1,3 @@
# Computed locally
sha256 ae55b25fb04b45dfbbde8280b034783a48ae7c40350d17fd272be5cbf0284cf1 containerd-1.7.14-go2.tar.gz
sha256 91685cebd50e3f353a402adadf61e2a6aeda3f63754fa0fcc978a043e00acac4 containerd-1.7.18-go2.tar.gz
sha256 4bbe3b885e8cd1907ab4cf9a41e862e74e24b5422297a4f2fe524e6a30ada2b4 LICENSE
+1 -1
View File
@@ -4,7 +4,7 @@
#
################################################################################
CONTAINERD_VERSION = 1.7.14
CONTAINERD_VERSION = 1.7.18
CONTAINERD_SITE = $(call github,containerd,containerd,v$(CONTAINERD_VERSION))
CONTAINERD_LICENSE = Apache-2.0
CONTAINERD_LICENSE_FILES = LICENSE
@@ -0,0 +1,43 @@
From 8ffd68a8dfa1e8671dd8c01b96faffd681deca4e Mon Sep 17 00:00:00 2001
From: Steffen Persvold <spersvold@gmail.com>
Date: Tue, 25 Jun 2024 14:14:49 +0200
Subject: [PATCH] libdirect: define __NR_futex on 32bit architectures using
64-bit time_t
Newer 32bit architectures like RISCV32 and ARC are using 64bit time_t
from the get go unlike other 32bit architectures, therefore aliasing
__NR_futex to __NR_futex_time64 helps avoid the below errors :
system.c:242:21: error: '__NR_futex' undeclared (first use in this function)
242 | ret = syscall( __NR_futex, uaddr, op, val, timeout, uaddr2, val3 );
| ^~~~~~~~~~
Upstream: dead
Signed-off-by: Steffen Persvold <spersvold@gmail.com>
---
lib/direct/os/linux/glibc/system.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/lib/direct/os/linux/glibc/system.c b/lib/direct/os/linux/glibc/system.c
index 32086a25..7143442b 100644
--- a/lib/direct/os/linux/glibc/system.c
+++ b/lib/direct/os/linux/glibc/system.c
@@ -213,6 +213,10 @@ direct_getenv( const char *name )
/**********************************************************************************************************************/
+#if defined(__NR_futex_time64) && !defined(__NR_futex)
+#define __NR_futex __NR_futex_time64
+#endif
+
DirectResult
direct_futex( int *uaddr, int op, int val, const struct timespec *timeout, int *uaddr2, int val3 )
{
@@ -245,4 +249,3 @@ direct_futex( int *uaddr, int op, int val, const struct timespec *timeout, int *
return DR_OK;
}
-
--
2.40.1
-2
View File
@@ -1,6 +1,5 @@
config BR2_PACKAGE_DIRECTFB
bool "directfb"
depends on !BR2_RISCV_32
depends on !BR2_STATIC_LIBS # static link issues
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on BR2_INSTALL_LIBSTDCPP
@@ -162,7 +161,6 @@ config BR2_PACKAGE_DIRECTFB_TESTS
endif # BR2_PACKAGE_DIRECTFB
comment "directfb needs a glibc or uClibc toolchain w/ C++, NPTL, gcc >= 4.5, dynamic library"
depends on !BR2_RISCV_32
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 || BR2_TOOLCHAIN_USES_MUSL || \
@@ -0,0 +1,43 @@
From be8f5b7ab1223076ba0086f14aeeb53ace2d4b5c Mon Sep 17 00:00:00 2001
From: Jeff Lawson <jeff.lawson@flightaware.com>
Date: Tue, 18 Jun 2024 15:58:24 +0000
Subject: [PATCH] swap size arguments to calloc
fixes #241
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Upstream: https://github.com/flightaware/dump1090/pull/243
---
adaptive.c | 2 +-
net_io.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/adaptive.c b/adaptive.c
index f16e16c..d656433 100644
--- a/adaptive.c
+++ b/adaptive.c
@@ -195,7 +195,7 @@ void adaptive_init()
adaptive_burst_window_remaining = adaptive_samples_per_window;
adaptive_burst_window_counter = 0;
- adaptive_range_radix = calloc(sizeof(unsigned), 65536);
+ adaptive_range_radix = calloc(65536, sizeof(unsigned));
adaptive_range_state = RANGE_RESCAN_UP;
// select and enforce gain limits
diff --git a/net_io.c b/net_io.c
index bf98028..8abd510 100644
--- a/net_io.c
+++ b/net_io.c
@@ -104,7 +104,7 @@ struct net_service *serviceInit(const char *descr, struct net_writer *writer, he
{
struct net_service *service;
- if (!(service = calloc(sizeof(*service), 1))) {
+ if (!(service = calloc(1, sizeof(*service)))) {
fprintf(stderr, "Out of memory allocating service %s\n", descr);
exit(1);
}
--
2.39.2
+2 -2
View File
@@ -1,4 +1,4 @@
# From https://lists.gnu.org/archive/html/bug-ed/2024-01/msg00000.html
sha256 c6030defe6ae172f1687906d7354054c75a6a9130af319d4e73c50a91959c5a6 ed-1.20.tar.lz
# From https://lists.gnu.org/archive/html/bug-ed/2024-04/msg00003.html
sha256 65fec7318f48c2ca17f334ac0f4703defe62037bb13cc23920de077b5fa24523 ed-1.20.2.tar.lz
# Locally calculated
sha256 3d77c1a58fbde5ddba612d1fe09965e20a3804953eca12e8c1892298bb8a5eef COPYING
+1 -1
View File
@@ -4,7 +4,7 @@
#
################################################################################
ED_VERSION = 1.20
ED_VERSION = 1.20.2
ED_SITE = $(BR2_GNU_MIRROR)/ed
ED_SOURCE = ed-$(ED_VERSION).tar.lz
ED_LICENSE = GPL-2.0+
@@ -2,6 +2,8 @@ buildconfig is meant to be executed on the host, so it has to be compiled
using $(HOSTCC), not $(CC).
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
[Bernd: rebased for version 4.97.1]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
OS/Makefile-Base | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
@@ -10,7 +12,7 @@ diff --git a/OS/Makefile-Base b/OS/Makefile-Base
index 29a6ad3..420ba60 100644
--- a/OS/Makefile-Base
+++ b/OS/Makefile-Base
@@ -114,8 +114,8 @@ allexim: config.h $(EXIM_MONITOR) exicyclog exinext exiwhat \
@@ -258,8 +258,8 @@ allexim: config.h $(EXIM_MONITOR) exicyclog exinext exiwhat \
# Targets for special-purpose configuration header builders
buildconfig: buildconfig.c
@@ -5,6 +5,8 @@ This leads to useless duplicated files on the target, so disable this
piece of code.
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
[Bernd: rebased for version 4.97.1]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
scripts/exim_install | 18 +++++++++---------
1 files changed, 9 insertions(+), 9 deletions(-)
@@ -13,7 +15,7 @@ diff --git a/scripts/exim_install b/scripts/exim_install
index 616ab3c..e68e7d5 100755
--- a/scripts/exim_install
+++ b/scripts/exim_install
@@ -344,15 +344,15 @@ while [ $# -gt 0 ]; do
@@ -348,15 +348,15 @@ while [ $# -gt 0 ]; do
else
if ../scripts/newer ${name} ${BIN_DIRECTORY}/${name}; then
@@ -9,8 +9,8 @@ Inspired by:
http://patch-tracker.debian.org/patch/series/view/exim4/4.76-2/35_install.dpatch
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
(rebased against exim 4.89)
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Bernd: rebased for version 4.89 & 4.97.1]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
scripts/exim_install | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
@@ -19,7 +19,7 @@ diff --git a/scripts/exim_install b/scripts/exim_install
index e68e7d5..487a4e1 100755
--- a/scripts/exim_install
+++ b/scripts/exim_install
@@ -58,6 +58,8 @@
@@ -61,6 +61,8 @@
shift
done
@@ -28,7 +28,7 @@ index e68e7d5..487a4e1 100755
# Get the values of BIN_DIRECTORY, CONFIGURE_FILE, INFO_DIRECTORY, NO_SYMLINK,
# SYSTEM_ALIASES_FILE, and EXE from the global Makefile (in the build
# directory). EXE is empty except in the Cygwin environment. In each case, keep
@@ -217,9 +219,7 @@
@@ -220,9 +223,7 @@
# The exim binary is handled specially
if [ $name = exim${EXE} ]; then
@@ -1,51 +0,0 @@
From bbcf4320134efd8a01ce5a02bb9af62019ca05f6 Mon Sep 17 00:00:00 2001
From: Luca Ceresoli <luca@lucaceresoli.net>
Date: Tue, 4 Feb 2020 15:57:48 +0100
Subject: [PATCH] exim_lock: fix lstat-related build errors
exim_lock fails to cross-compile with the Sourcery CodeBench ARM 2014.05
toolchain due the a missing include of sys/types.h, needed for the
constants used by fstat() and lstat().
Discovered when cross-compiling with the Buildroot embedded Linux
buildsystem.
Fixes:
exim_lock.c:427:30: error: 'S_IFMT' undeclared (first use in this function)
if ((statbuf.st_mode & S_IFMT) == S_IFLNK)
^
exim_lock.c:427:30: note: each undeclared identifier is reported only once for each function it appears in
exim_lock.c:427:41: error: 'S_IFLNK' undeclared (first use in this function)
if ((statbuf.st_mode & S_IFMT) == S_IFLNK)
^
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Upstream-status: https://bugs.exim.org/show_bug.cgi?id=2523
---
src/exim_lock.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/exim_lock.c b/src/exim_lock.c
index 068216816054..cb140aff6436 100644
--- a/src/exim_lock.c
+++ b/src/exim_lock.c
@@ -13,6 +13,8 @@ Argument: the name of the lock file
Copyright (c) The Exim Maintainers 2016
*/
+#define _XOPEN_SOURCE
+
#include "os.h"
#include <stdio.h>
@@ -26,6 +28,7 @@ Copyright (c) The Exim Maintainers 2016
#include <unistd.h>
#include <utime.h>
#include <sys/utsname.h>
+#include <sys/types.h>
#include <sys/stat.h>
#include <sys/file.h>
#include <pwd.h>
--
2.25.0
@@ -20,7 +20,9 @@ Discovered when cross-compiling with the Buildroot embedded Linux
buildsystem.
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Upstream-status: https://bugs.exim.org/show_bug.cgi?id=2523
Upstream: https://bugs.exim.org/show_bug.cgi?id=2523
[Bernd: rebased for version 4.97.1]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
src/sieve.c | 2 ++
1 file changed, 2 insertions(+)
@@ -29,7 +31,7 @@ diff --git a/src/sieve.c b/src/sieve.c
index 5e8d1e6f4776..9632f2d43810 100644
--- a/src/sieve.c
+++ b/src/sieve.c
@@ -12,6 +12,8 @@
@@ -14,6 +14,8 @@
/* Sieve mail filter. */
@@ -1,28 +0,0 @@
From 37b849dca4dfd855212a763662825e967a4d77b1 Mon Sep 17 00:00:00 2001
From: Jeremy Harris <jgh146exb@wizmail.org>
Date: Tue, 7 Nov 2023 15:02:18 +0000
Subject: [PATCH] OpenSSL: fix non-DANE build
Upstream: https://git.exim.org/exim.git/commitdiff/37b849dca4dfd855212a763662825e967a4d77b1
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
src/tls-openssl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/src/tls-openssl.c b/src/src/tls-openssl.c
index ef11de593..851ac77c5 100644
--- a/src/tls-openssl.c
+++ b/src/tls-openssl.c
@@ -2605,7 +2605,7 @@ if (!(bs = OCSP_response_get1_basic(rsp)))
asking for certificate-status under DANE, so this callback won't run for
that combination. It still will for non-DANE. */
-#ifdef EXIM_HAVE_OPENSSL_OCSP_RESP_GET0_SIGNER
+#if defined(EXIM_HAVE_OPENSSL_OCSP_RESP_GET0_SIGNER) && defined(SUPPORT_DANE)
X509 * signer;
if ( tls_out.dane_verified
--
2.30.2
-58
View File
@@ -1,58 +0,0 @@
From caf57fe7eb5018b8df196e6d9f99586232798eb3 Mon Sep 17 00:00:00 2001
From: Jeremy Harris <jgh146exb@wizmail.org>
Date: Wed, 8 Nov 2023 14:22:37 +0000
Subject: [PATCH] typoes
Upstream: https://git.exim.org/exim.git/commit/caf57fe7eb5018b8df196e6d9f99586232798eb3
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
src/src/tls-openssl.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/tls-openssl.c b/src/tls-openssl.c
index 851ac77c5..237303ba9 100644
--- a/src/tls-openssl.c
+++ b/src/tls-openssl.c
@@ -77,9 +77,9 @@ change this guard and punt the issue for a while longer. */
# define EXIM_HAVE_OPENSSL_KEYLOG
# define EXIM_HAVE_OPENSSL_CIPHER_GET_ID
# define EXIM_HAVE_SESSION_TICKET
-# define EXIM_HAVE_OPESSL_TRACE
-# define EXIM_HAVE_OPESSL_GET0_SERIAL
-# define EXIM_HAVE_OPESSL_OCSP_RESP_GET0_CERTS
+# define EXIM_HAVE_OPENSSL_TRACE
+# define EXIM_HAVE_OPENSSL_GET0_SERIAL
+# define EXIM_HAVE_OPENSSL_OCSP_RESP_GET0_CERTS
# define EXIM_HAVE_SSL_GET0_VERIFIED_CHAIN
# ifndef DISABLE_OCSP
# define EXIM_HAVE_OCSP
@@ -1756,7 +1756,7 @@ level. */
DEBUG(D_tls)
{
SSL_CTX_set_info_callback(ctx, info_callback);
-#if defined(EXIM_HAVE_OPESSL_TRACE) && !defined(OPENSSL_NO_SSL_TRACE)
+#if defined(EXIM_HAVE_OPENSSL_TRACE) && !defined(OPENSSL_NO_SSL_TRACE)
/* this needs a debug build of OpenSSL */
SSL_CTX_set_msg_callback(ctx, SSL_trace);
#endif
@@ -2442,7 +2442,7 @@ tls_in.ocsp = OCSP_NOT_RESP;
if (!olist)
return SSL_TLSEXT_ERR_NOACK;
-#ifdef EXIM_HAVE_OPESSL_GET0_SERIAL
+#ifdef EXIM_HAVE_OPENSSL_GET0_SERIAL
{
const X509 * cert_sent = SSL_get_certificate(s);
const ASN1_INTEGER * cert_serial = X509_get0_serialNumber(cert_sent);
@@ -2646,7 +2646,7 @@ if (!(bs = OCSP_response_get1_basic(rsp)))
debug_printf("certs contained in basicresp:\n");
x509_stack_dump_cert_s_names(
-#ifdef EXIM_HAVE_OPESSL_OCSP_RESP_GET0_CERTS
+#ifdef EXIM_HAVE_OPENSSL_OCSP_RESP_GET0_CERTS
OCSP_resp_get0_certs(bs)
#else
bs->certs
--
2.30.2
@@ -1,43 +0,0 @@
From 88f45502272a9a674948204e460ebe90202827d4 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Sun, 11 Feb 2024 21:45:42 +0100
Subject: [PATCH] src/src/tls-openssl.c: fix build with libressl >= 3.5.0
OCSP_BASICRESP is an opaque structure since libressl 3.5.0 and
https://github.com/libressl/openbsd/commit/57442b0028fb09287793f279ee57ebb38e9ab954
resulting in the following build failure since version 4.97 and
https://git.exim.org/exim.git/commit/6bf0021993572586f031ac7d973ca33358c2dac8:
In file included from tls.c:473:
tls-openssl.c: In function 'tls_client_stapling_cb':
tls-openssl.c:2652:11: error: invalid use of incomplete typedef 'OCSP_BASICRESP' {aka 'struct ocsp_basic_response_st'}
2652 | bs->certs
| ^~
Fixes:
- http://autobuild.buildroot.org/results/869fde62128d7b0c65e0ac596a3a3f69b332583d
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Upstream: https://bugs.exim.org/show_bug.cgi?id=3074
---
src/src/tls-openssl.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/tls-openssl.c b/src/tls-openssl.c
index 237303ba9..c7f94c160 100644
--- a/src/tls-openssl.c
+++ b/src/tls-openssl.c
@@ -98,6 +98,10 @@ change this guard and punt the issue for a while longer. */
# define EXIM_HAVE_OPENSSL_CIPHER_GET_ID
#endif
+#if LIBRESSL_VERSION_NUMBER >= 0x3050000fL
+# define EXIM_HAVE_OPENSSL_OCSP_RESP_GET0_CERTS
+#endif
+
#if !defined(LIBRESSL_VERSION_NUMBER) && (OPENSSL_VERSION_NUMBER >= 0x030000000L)
# define EXIM_HAVE_EXPORT_CHNL_BNGNG
# define EXIM_HAVE_OPENSSL_X509_STORE_GET1_ALL_CERTS
--
2.43.0
+2 -2
View File
@@ -1,6 +1,6 @@
# From https://ftp.exim.org/pub/exim/exim4/00-sha256sums.txt
sha256 bd782057509a793593508528590626d185ea160ce32cb34beda262e99cefdfa9 exim-4.97.1.tar.xz
sha256 0ebc108a779f9293ba4b423c20818f9a3db79b60286d96abc6ba6b85a15852f7 exim-4.98.tar.xz
# From https://ftp.exim.org/pub/exim/exim4/00-sha512sums.txt
sha512 eab7ca28b37f1635c48f5e963ab69fcbad539b2c35a84286ecaad7d7ff5210bbefce86452302e08099afdc0710f9cb7ca6d9b152b0ba88a19292f7c5541e0cfc exim-4.97.1.tar.xz
sha512 13dd963dd0899bb4d64bee44c20883e720e469a4d77456b877d6693cfc4419805a045cb561508cdf763dbb37cc84fbdc6177d68acc2183934c3224fbd03caf15 exim-4.98.tar.xz
# Locally calculated
sha256 49240db527b7e55b312a46fc59794fde5dd006422e422257f4f057bfd27b3c8f LICENCE
+1 -1
View File
@@ -4,7 +4,7 @@
#
################################################################################
EXIM_VERSION = 4.97.1
EXIM_VERSION = 4.98
EXIM_SOURCE = exim-$(EXIM_VERSION).tar.xz
EXIM_SITE = https://ftp.exim.org/pub/exim/exim4
EXIM_LICENSE = GPL-2.0+
@@ -0,0 +1,74 @@
From 7b7fa3c02d4575c09362336bc310835c37859f1a Mon Sep 17 00:00:00 2001
From: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Date: Fri, 19 Apr 2024 22:47:20 +0200
Subject: [PATCH] setup.py: fix data relative paths
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
As per distutils documentation:
The directory should be a relative path. It is interpreted relative to the
installation prefix (Python’s sys.prefix for system installations;
site.USER_BASE for user installations). Distutils allows directory to be an
absolute installation path, but this is discouraged since it is incompatible
with the wheel packaging format [1].
When packaging to a bdist_wheel indeed, the files in the "data_files" dictionary
are not picked at all as data files if they have an absolute path,
but they are instead added to the wheel as python files.
This has the effect of installing them as part of python files in the
site-packages folder when the wheel is installed.
This patch cannot be sent upstream because it breaks the legacy way of
installing the package with *python setup.py install* and it is needed only to
comply with the pep517 buildroot compatibility layer.
[1] https://docs.python.org/3.10/distutils/setupscript.html#installing-additional-files
Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Upstream: N/A [breaks traditional setuptools installation]
---
setup.py | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/setup.py b/setup.py
index 91f71cf2..99ba2e32 100755
--- a/setup.py
+++ b/setup.py
@@ -238,26 +238,26 @@ setup(
for f in w[2]]
} if with_tests else {},
data_files = [
- ('/etc/fail2ban',
+ ('etc/fail2ban',
glob("config/*.conf")
),
- ('/etc/fail2ban/filter.d',
+ ('etc/fail2ban/filter.d',
glob("config/filter.d/*.conf")
),
- ('/etc/fail2ban/filter.d/ignorecommands',
+ ('etc/fail2ban/filter.d/ignorecommands',
[p for p in glob("config/filter.d/ignorecommands/*") if isfile(p)]
),
- ('/etc/fail2ban/action.d',
+ ('etc/fail2ban/action.d',
glob("config/action.d/*.conf") +
glob("config/action.d/*.py")
),
- ('/etc/fail2ban/fail2ban.d',
+ ('etc/fail2ban/fail2ban.d',
''
),
- ('/etc/fail2ban/jail.d',
+ ('etc/fail2ban/jail.d',
''
),
- ('/var/lib/fail2ban',
+ ('var/lib/fail2ban',
''
),
] + data_files_extra,
--
2.34.1
+1 -1
View File
@@ -21,7 +21,7 @@ endif
define FROTZ_BUILD_CMDS
$(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) PREFIX=/usr CONFIG_DIR=/etc \
SOUND_TYPE=none CURSES="$(FROTZ_CURSES)" USE_UTF8=$(FROTZ_UTF8) \
CFLAGS="$(TARGET_CFLAGS) -std=c99"
CFLAGS="$(TARGET_CFLAGS) -std=gnu99"
endef
define FROTZ_INSTALL_TARGET_CMDS
@@ -0,0 +1,133 @@
From 65a89b6253ef527ab4bc951eb8f9deba12f0121a Mon Sep 17 00:00:00 2001
From: Julien Olivain <ju.o@free.fr>
Date: Mon, 20 May 2024 11:14:02 +0200
Subject: [PATCH] libfwtsiasl: fix parallel build with GNU Make >= 4.4
When a build host has a large number of cores (like 20+) and GNU Make
version is >= 4.4, fwts randomly fail to build in parallel, with a
"make -j$(nproc)" command, with error:
mv: cannot stat 'dtcompilerparser.tab.c': No such file or directory
mv: cannot stat 'prparser.tab.c': No such file or directory
This issue has been reported here:
https://github.com/fwts/fwts/issues/7
The Makefile.am of libfwtsiasl is using the GNU Make ".NOTPARALLEL"
special target with prerequisites to handle commands generating
multiple outputs (like lex/yacc invocations). See:
https://github.com/fwts/fwts/blob/V24.03.00/src/libfwtsiasl/Makefile.am#L61
First, the .NOTPARALLEL special target _with_ prerequisites is a
feature added in GNU Make 4.4. See:
https://git.savannah.gnu.org/cgit/make.git/commit/?id=f6ea899d83bf00fe9201fde0ca9cf7af8e443677
https://lists.gnu.org/archive/html/help-make/2022-10/msg00020.html
GNU Make version < 4.4 will interpret it as if it was written without
prerequisite (as a standalone ".NOTPARALLEL:"). The effect is that the
parallel compilation is disabled for the whole libfwtsiasl. The
standalone .NOTPARALLEL special target was introduced in GNU Make 3.79
in 2000. This is why parallel builds are working with Make older than
version 4.4.
Secondly, the reason why the build is failing on GNU Make >= 4.4 is
because the usage of .NOTPARALLEL in incorrect.
Quoting the Make manual:
https://www.gnu.org/software/make/manual/html_node/Parallel-Disable.html
"""
If the .NOTPARALLEL special target has prerequisites, then each of those
prerequisites will be considered a target and all prerequisites of these
targets will be run serially.
"""
Note the serialization will happen on the prerequisites of the targets
set as prerequisites of .NOTPARALLEL.
The targets will not be correctly marked to disable parallel
execution.
Thirdly, the use of multiple targets in a rule is incorrect here. See
Make manual:
https://www.gnu.org/software/make/manual/html_node/Multiple-Targets.html
The construct used in Makefile.am of libfwtsiasl for lex/yacc parsers
assumes they are independant targets (so they can be executed in
parallel). Finally, the "mv" command is failing, because there will be
one parallel execution per target, the first mv will suceed and the
other ones will fail. Multiple independant targets are often used in
Makefiles for lex/yacc, they are working because they are not using
"mv". Even in multiple execution, files are just overwritten.
Fixing this .NOTPARALLEL usage with prerequisites would require Make
version 4.4 or greater. This is a strong requirement, as there is
still many Linux distros with older Make version (as an example Ubuntu
22.04 LTS has Make 4.3).
The .WAIT special target could be used, but was also introduced in
Make version 4.4. See:
https://git.savannah.gnu.org/cgit/make.git/commit/?id=f6ea899d83bf00fe9201fde0ca9cf7af8e443677
GNU Make 4.3 also introduced "Grouped Targets" for that purpose. See:
https://www.gnu.org/software/make/manual/html_node/Multiple-Targets.html
But this would add a requirement on a recent Make version.
This commit fixes the issue by declaring the first generated file as a
dependency of the other extra generated files. This has the effect of
completely solving the parallel build for all GNU Make versions. Also,
this enables parallel build for libfwtsiasl (except for the parser
generation) and makes the whole build faster.
Signed-off-by: Julien Olivain <ju.o@free.fr>
Upstream: https://github.com/fwts/fwts/commit/c0962cd74c725418523c46ca44101e0e70201f81
---
src/libfwtsiasl/Makefile.am | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/libfwtsiasl/Makefile.am b/src/libfwtsiasl/Makefile.am
index cb10bc58..ac54f621 100644
--- a/src/libfwtsiasl/Makefile.am
+++ b/src/libfwtsiasl/Makefile.am
@@ -58,32 +58,32 @@ aslcompiler.y: $(ASL_PARSER)
aslcompilerlex.c: $(ASL_LEXER)
${LEX} ${AM_LFLAGS} -PAslCompiler -o$@ $(top_srcdir)/src/acpica/source/compiler/aslcompiler.l
-.NOTPARALLEL: aslcompiler.c
-aslcompiler.c aslcompiler.y.h: aslcompiler.y
+aslcompiler.c: aslcompiler.y
${YACC} ${AM_YFLAGS} -d -baslcompiler -pAslCompiler $^
mv aslcompiler.tab.c aslcompiler.c
cp aslcompiler.tab.h aslcompiler.y.h
+aslcompiler.y.h: aslcompiler.c
-.NOTPARALLEL: dtcompilerparserlex.c
-dtcompilerparserlex.c dtcompilerparser.c dtcompilerparser.y.h: $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.l $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.y
+dtcompilerparserlex.c: $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.l $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.y
${LEX} ${AM_LFLAGS} -PDtCompilerParser -odtcompilerparserlex.c $<
${YACC} ${AM_YFLAGS} -bdtcompilerparser -pDtCompilerParser $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.y
mv dtcompilerparser.tab.c dtcompilerparser.c
cp dtcompilerparser.tab.h dtcompilerparser.y.h
+dtcompilerparser.c dtcompilerparser.y.h: dtcompilerparserlex.c
-.NOTPARALLEL: dtparserlex.c
-dtparserlex.c dtparser.c dtparser.y.h: $(top_srcdir)/src/acpica/source/compiler/dtparser.l $(top_srcdir)/src/acpica/source/compiler/dtparser.y
+dtparserlex.c: $(top_srcdir)/src/acpica/source/compiler/dtparser.l $(top_srcdir)/src/acpica/source/compiler/dtparser.y
${LEX} ${AM_LFLAGS} -PDtParser -odtparserlex.c $<
${YACC} ${AM_YFLAGS} -bdtparser -pDtParser $(top_srcdir)/src/acpica/source/compiler/dtparser.y
mv dtparser.tab.c dtparser.c
cp dtparser.tab.h dtparser.y.h
+dtparser.c dtparser.y.h: dtparserlex.c
-.NOTPARALLEL: prparserlex.c
-prparserlex.c prparser.c prparser.y.h: $(top_srcdir)/src/acpica/source/compiler/prparser.l $(top_srcdir)/src/acpica/source/compiler/prparser.y
+prparserlex.c: $(top_srcdir)/src/acpica/source/compiler/prparser.l $(top_srcdir)/src/acpica/source/compiler/prparser.y
${LEX} ${AM_LFLAGS} -PPrParser -oprparserlex.c $<
${YACC} ${AM_YFLAGS} -bprparser -pPrParser $(top_srcdir)/src/acpica/source/compiler/prparser.y
mv prparser.tab.c prparser.c
cp prparser.tab.h prparser.y.h
+prparser.c prparser.y.h: prparserlex.c
pkglib_LTLIBRARIES = libfwtsiasl.la
--
2.45.1

Some files were not shown because too many files have changed in this diff Show More