Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
078f99a315 | ||
|
|
ea282e0e5f | ||
|
|
09cee6ad43 | ||
|
|
300d507c2e | ||
|
|
39af748ca4 | ||
|
|
23e9dab58a | ||
|
|
22f476b997 | ||
|
|
ed225a0950 | ||
|
|
c7d558031d | ||
|
|
a70ac746fe | ||
|
|
65af7b6ee4 | ||
|
|
d9bddddd23 | ||
|
|
553391da6c | ||
|
|
ff17ce6f28 | ||
|
|
1c4be6bb37 | ||
|
|
aeced848bd | ||
|
|
ef7cf58714 | ||
|
|
4be8ba1629 | ||
|
|
560fb72ff4 | ||
|
|
5396f35da3 | ||
|
|
58e57aff08 | ||
|
|
051df65fd5 | ||
|
|
77ebe1795c | ||
|
|
53d0a01c0b | ||
|
|
8a6b867568 | ||
|
|
d3b6f8fa3c | ||
|
|
a3ec7bb68f | ||
|
|
be5c48e20c | ||
|
|
b8ec6c9b64 | ||
|
|
5fd4d3757c | ||
|
|
db06ee93b9 | ||
|
|
8896b815f1 | ||
|
|
f008725ad6 | ||
|
|
177b4deb3d | ||
|
|
c4f8ae4a1a | ||
|
|
3cf303f916 | ||
|
|
50bf83cb75 | ||
|
|
09766aab58 | ||
|
|
886cdf6c91 | ||
|
|
abf5e2571d | ||
|
|
5703b1a03e | ||
|
|
e0cb58f1ca | ||
|
|
6a3872661c | ||
|
|
92b84583f6 | ||
|
|
cb131ede84 | ||
|
|
ea84f13bb0 | ||
|
|
fffc83c54a | ||
|
|
8d5845211f | ||
|
|
8e63d76db9 | ||
|
|
7b148d9d25 | ||
|
|
362af615cd | ||
|
|
26db1f8ef5 | ||
|
|
6c6f6eb44a | ||
|
|
65fc31a8ec | ||
|
|
3127d74ff6 | ||
|
|
b506012134 | ||
|
|
9a118c7664 | ||
|
|
50b13c9f86 | ||
|
|
6c995cb48e | ||
|
|
cf9b5e669c | ||
|
|
ec0bad566a | ||
|
|
0cab1602a0 | ||
|
|
47c331f0da | ||
|
|
629869f2dd | ||
|
|
0eb1ea8cb5 | ||
|
|
b72162e806 | ||
|
|
4ec45eda0e | ||
|
|
0aa7967565 | ||
|
|
648478ee85 | ||
|
|
6c8122b48c | ||
|
|
157647502d | ||
|
|
175cac0f5f | ||
|
|
8beba85f71 | ||
|
|
c96b51be73 | ||
|
|
3432be2df1 | ||
|
|
7857868d00 | ||
|
|
d7696a82fb | ||
|
|
a02c8e337e | ||
|
|
4aed830703 | ||
|
|
58781773ec | ||
|
|
3918d46a26 | ||
|
|
fc0499a23c | ||
|
|
8d9f064080 | ||
|
|
c9089fb964 | ||
|
|
2b0c3604a4 | ||
|
|
6d6e9fb45f | ||
|
|
ffe46c6646 | ||
|
|
dbcdebb679 | ||
|
|
f42ca9644a | ||
|
|
4baf992d83 | ||
|
|
3d1d01f928 | ||
|
|
169284cd1f | ||
|
|
f907f52c0c | ||
|
|
9c29e72aef | ||
|
|
7e2f295681 | ||
|
|
b16821b9e2 | ||
|
|
144a817f4f |
+2
-17
@@ -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
|
||||
|
||||
@@ -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
@@ -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/
|
||||
|
||||
@@ -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
|
||||
+3
@@ -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
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 068325043b7c8ecc47ebb8b4f241f01e86d3f69dc49a63f340aa94bd41a9e6df arm-trusted-firmware/arm-trusted-firmware-lts-v2.8.16.tar.gz
|
||||
+1
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
------------------------
|
||||
----
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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+.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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):
|
||||
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
----------------------------
|
||||
----
|
||||
|
||||
@@ -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
|
||||
------------------
|
||||
----
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
+12
-6
@@ -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
|
||||
|
||||
@@ -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,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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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
@@ -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
|
||||
+4
-2
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user