Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
[yann.morin.1998@free.fr: s/contents/content/]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit aa79ae24a8)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Commit a87abcf6da (Makefile: run PPD and RPATH fixup in host-fialize)
(sic) moved the fixups peviously done in prepare-sdk, to host-finalize.
This exposed a bug in fix-rpath, when RPATH contains multiple entries,
like: /PPD/host-foo/host/lib:/PPD/host-foo/host/lib/foo
In that situation, we want to get rid of /PPD/host-foo and replace it
with the finale HOST_DIR, so we mangle the RPATH with a sed expression.
However, that sed expression only ever replaces the first match, as it
is missing the 'g' option. Thus, the second (and following) parts of
RPATH are still referring to the PPD, and thus patchelf does not find it
relative to the final HOST_DIR, amd rops it. This eventually lead to a
final RPATH set as $ORIGIN/../lib instead of the expected
$ORIGIN/../lib:$ORIGIN/../lib/foo
This is the case for host-systemd, which installs some of its libraries
in $PREFIX/lib/systemd/ and adds an RPATH set appropriately to
/PPD/host-systemd/host/lib:/PPD/host-systemd/host/lib/systemd and that
gets incorrectly mangled.
Fixes: https://gitlab.com/buildroot.org/buildroot/-/issues/39
Also fix a typo in the comment just above.
Reported-by: José Luis Salvador Rufo @jlsalvador
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Tested-by: José Luis Salvador Rufo <salvador.joseluis@gmail.com>
Reviewed-by: José Luis Salvador Rufo <salvador.joseluis@gmail.com>
Tested-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Reviewed-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 2100a76d9e)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Browsers nowadays complain about HTTP downloads (E.G. manual.pdf) from a
site served over HTTPS, so also use HTTPS for the nightly.buildroot.org
manual links.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 06397d26a0)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
From https://github.com/troglobit/sysklogd/releases/tag/v2.6.2:
- syslog.conf: misplaced continuation character in example
- Add facility aliases for RFC5424 compliance: LOG_CRON2 and LOG_AUDIT,
including facilitynames[] = cron2, audit. Used by the native logger
tool (and any clients linking to libsyslog)
- Fix data corruption using the listen directive, introduced in 2.6.0
- Fix IPv6 addresses in listen directive, introduced in 2.6.0
- Fix logging to remote IPv6 address, add support for parsing
[fdd5::6979:c0ff:ee87:8f92]:123 style addresses
- Fix initial delay for unresolvable remote target. When a DNS name
cannot be resolved, e.g., critically at boot, syslogd blocked with
default resolver timeout (5 * 2 sec)
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 91afa8c8cc)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Commit abce4a2b3 "linux: add BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3" [1]
introduced a Kernel dependency on host-python3.
Since the Kernel does not have any specific requirements on host
Python modules, or recent host Python version, this commit replaces
the host-python3 dependency with BR2_PYTHON3_HOST_DEPENDENCY. This
will skip the host-python3 compilation if a sufficient version (3.4 or
greater at the time of this commit) is already present on host. This
will save build time.
This optimization was suggested by Peter, in [2].
Note 1: this commit was checked to ensure that Kernel v6.10.9 arm64
defconfig (which does require a python3 interpreter to build) is
working with Python 3.4.
Note 2: BR2_PYTHON3_HOST_DEPENDENCY was introduced in commit b60729784
"support/dependencies: add a check for python3" [3].
[1] abce4a2b36
[2] https://lists.buildroot.org/pipermail/buildroot/2024-September/763967.html
[3] b60729784a
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit b98062f730)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Kernel commit [1] introduced MSM GPU driver header generation with a
Python script. This commit was first included in v6.10. This driver is
also enabled as a module in the arm64 architecture default
configuration. See [2]. This is a common situation.
This missing dependency is not detected in the Buildroot CI, because
the reference docker image contains a python3 interpreter. See [3].
For information, the Linux latest kernel version was updated in
Buildroot commit 2b6dba00b "linux: bump latest version to 6.10".
See [4].
The issue can be observed by running the following commands on a host
without the python3 interpreter installed:
cat <<EOF >.config
BR2_aarch64=y
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_TOOLCHAIN_EXTERNAL=y
EOF
make olddefconfig
make linux
The Kernel build fails with output:
GENHDR drivers/gpu/drm/msm/generated/a2xx.xml.h
/bin/sh: 1: python3: not found
make[7]: *** [drivers/gpu/drm/msm/Makefile:176: drivers/gpu/drm/msm/generated/a2xx.xml.h] Error 127
This commit fixes this issue by introducing a new
BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3 configuration that will need to be
selected in relevant situations.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=0fddd045f88e34d6160785a3a5e506d374566454
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/arch/arm64/configs/defconfig?h=v6.10.8#n868
[3] https://gitlab.com/buildroot.org/buildroot/-/blob/2024.08-rc3/support/docker/Dockerfile?ref_type=tags#L40
[4] 2b6dba00be
Reported-by: Vincent Stehlé <vincent.stehle@arm.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit abce4a2b36)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The behaviour of asciidoc on my laptop (Debian 10.2.0-1) changed at the end
of last year, causing the BR2_VERSION logic to no longer work:
grep 'manual generated' buildroot-2023.02.*/docs/manual/manual.text
buildroot-2023.02.6/docs/manual/manual.text:Buildroot 2023.02.6 manual generated on 2023-10-16 08:41:26 UTC from
buildroot-2023.02.7/docs/manual/manual.text:Buildroot ${BR2_VERSION%%-git*} manual generated on 2023-11-14
buildroot-2023.02.8/docs/manual/manual.text:Buildroot ${BR2_VERSION%%-git*} manual generated on 2023-12-04
We don't really NEED to strip the -git suffix; indeed, for a git tag, there
would be not -git suffix, while for any other commit there will be one
and we want to see it (e.g. in the nightly manual, or on a development
branch locally).
So just drop that to unbreak the version output.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
[yann.morin.1998@free.fr: explain why wew don't want to drop it]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit ec270a0815)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
When the build host does not have a Python interpreter installed,
host-grub2 is failing to configure due to this missing interpreter.
Note that host-grub2 is the first package to fail because it is a
dependency of grub2. The grub2 target package has the same dependency
requirement.
The issue can be quickly reproduced on a host without Python with the
commands:
cat <<EOF >.config
BR2_aarch64=y
BR2_TARGET_GRUB2=y
BR2_TOOLCHAIN_EXTERNAL=y
EOF
make olddefconfig
make grub2
grub2 autotools configure.ac search for a Python interpreter since
upstream commit [1] 8b467844e "python: Use AM_PATH_PYTHON to determine
interpreter for gentpl.py", first included in grub v2.04 released
on 2019-07-04. For reference, grub2 has been updated to that version
in commit [2] ea7ec41c "boot/grub2: bump to verson 2.04".
This commit fixes the issue by adding the host-python3 dependency to
host-grub2 and grub2.
Fixes:
checking for a Python interpreter with version >= 2.6... none
configure: error: no suitable Python interpreter found
[1] https://git.savannah.gnu.org/gitweb/?p=grub.git;a=commitdiff;h=8b467844e11170077c8ca727c39d2bd36eeb5f08
[2] ea7ec41cf6
Reported-by: Vincent Stehlé <vincent.stehle@arm.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 86bb1b2360)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
When BR2_PACKAGE_QT6DECLARATIVE_QUICK is enabled the QML compatibility
modules should be built and installed.
Signed-off-by: Christian Hitz <christian.hitz@bbv.ch>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 8d54684918)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The set -x was added for debugging, and forgotten to be removed
afterwards. Remove it now.
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 23eb63ec75)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Everything inside the generic-package macro should be double-dollared,
except for $(1) $(2) etc. There was still a $(call ...) that was not
double-dollared in the legal-info target. The result is that
OVERRIDE_SRCDIR isn't actually qstrip'ed.
Double dollar the $(call ...) like everywhere else.
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
Cc: Nicolas Carrier <carrier.nicolas0@gmail.com>
Reported-by: Yann E. MORIN <yann.morin@orange.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 109c7c437c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Commit aacca7f063 introduced the
possibility to also create tarballs for packages that are local or
overridden (i.e., with a custom version). However, it doesn't work
correctly for PPD, because the PPD-host-tar and gzip are not available.
This failure was silent because the mk_tar_gz function doesn't exit on
error. The following error was printed but ignored:
support/download/helpers: line 62: .../per-package/busybox/host/bin/tar: No such file or directory
Call prepare-per-package-directory before calling mk_tar_gz which uses
it. Note that we use only tar and gzip here, not all of
DOWNLOAD_DEPENDENCIES, because tar and gzip are the only ones we really
use.
Also add this dependency to the legal-info target. We use an order-only
dependency even though that makes not difference for a phony target, but
this makes it similar to how it's done for the stamp targets. Note also
that this dependency is redundant, because there is already a dependency
on the foo-rsync target which does depend on DOWNLOAD_DEPENDENCIES. We
still add the dependency explicitly in case things change with the
foo-rsync target in the future.
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
Cc: Nicolas Carrier <carrier.nicolas0@gmail.com>
Reported-by: Yann E. MORIN <yann.morin@orange.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit f4681fc417)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Commit aacca7f063 introduced the
possibility to also create tarballs for packages that are local or
overridden (i.e., with a custom version). However, it forgot to create
the directory in which that tarball is stored. The original patch did,
but it was reworked by Arnout to use mk_tar_gz instead of tar directly,
and the mkdir was dropped there.
This failure was silent because the mk_tar_gz function doesn't exit on
error. The following error was printed but ignored:
support/download/helpers: line 68: .../legal-info/sources/busybox-custom/busybox-custom.tar.gz: No such file or directory
Create the directory before calling mk_tar_gz.
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
Cc: Nicolas Carrier <carrier.nicolas0@gmail.com>
Reported-by: Yann E. MORIN <yann.morin@orange.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit d1945f143d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>