This commit allows the package patches to be applied with fuzz factor 0.
The fuzz factor specifies how many lines of the patch can be inexactly
matched, so the value 0 requires all lines to be exactly matched.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
This commit allows the package patch to be applied with fuzz factor 0.
The fuzz factor specifies how many lines of the patch can be inexactly
matched, so the value 0 requires all lines to be exactly matched.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
This commit allows the syslinux patches to be applied with fuzz factor 0.
The fuzz factor specifies how many lines of the patch can be inexactly
matched, so the value 0 requires all lines to be exactly matched.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
This commit allows the U-Boot patch to be applied with fuzz factor 0.
The fuzz factor specifies how many lines of the patch can be inexactly
matched, so the value 0 requires all lines to be exactly matched.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
This commit allows the Linux kernel patches to be applied with fuzz
factor 0. The fuzz factor specifies how many lines of the patch can be
inexactly matched, so the value 0 requires all lines to be exactly
matched.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
Use direct equivalents where available. The following autoconf options
don't have a direct equivalent in CMakeLists.txt.
- '--enable-checks=crc32': CRC32 is always enabled; the equivalent CMake
option is therefore calles ADDITIONAL_CHECK_TYPES.
- '--disable-external-sha256': external sha256 is not supported with
CMake.
- '--enable-assembler': No direct equivalent, though there is an option
ENABLE_X86_ASM which must be enabled explicitly (no auto-detection).
Since this only works on x86 and we're not sure if it works on all x86
variants, leave it disabled.
- '--enable-assume-ram=128': hard coded in the CMakeLists.txt file
1732 target_compile_definitions(xz PRIVATE ASSUME_RAM=128)
- '--enable-xz', '--enable-xzdec', '--enable-lzmadec',
'--enable-lzmainfo', --enable-lzma-links': The decoder programs are
always enabled if they're enabled in the library. The symlinks are
controlled by two separate options: CREATE_XZ_SYMLINKS and
CREATE_LZMA_SYMLINKS.
- '--enable-scripts' (see [1]: 'CMake: xzdiff, xzgrep, xzless, xzmore, and
their symlinks are now installed')
- '--enable-symbol-versions': hard coded in the CMakeLists.txt file
1297 target_compile_definitions(liblzma PRIVATE HAVE_SYMBOL_VERSIONS_LINUX=1)
- '--enable-rpath': There is no CMake equivalent for this.
- '--enable-largefile': see CMakeLists.txt
245 # Check for large file support. It's required on some 32-bit platforms and
246 # even on 64-bit MinGW-w64 to get 64-bit off_t. This can be forced off on
247 # the CMake command line if needed: -DLARGE_FILE_SUPPORT=OFF
248 tuklib_large_file_support(ALL)
- '--enable-unaligned-access=auto': see CMakeLists.txt and cmake/tuklib_integer.cmake
250 # This is needed by liblzma and xz.
251 tuklib_integer(ALL)
- '--disable-unsafe-type-punning' see CMakeLists.txt and cmake/tuklib_integer.cmake
250 # This is needed by liblzma and xz.
251 tuklib_integer(ALL)
- '--disable-werror': There is no option to _enable_ -Werror in
CMakeLists.txt.
- '--enable-year2038': There is no option to enable Y2038 support in
CMakeLists.txt, but we anyway do that globally.
host-xz is itself a dependency of host-ccache, so we can't use ccache
for building host-xz. For autotools, this was handled by setting CC and
CXX in the environment for the configure script. This doesn't work for
CMake, however. Instead, we must override the CMAKE_C_COMPILER_LAUNCHER
option. Xz doesn't use C++, but for completeness also override
CMAKE_CXX_COMPILER_LAUNCHER.
[1] https://github.com/tukaani-project/xz/releases/tag/v5.6.0
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[Arnout: fix ccache bypass for host-xz]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
All our up-to-date libc variants now support Y2038, so we can turn this
on unconditionally.
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
Explicitly specify all autoconf options with their default values, with
the following special cases:
- sandbox: use 'auto' (which will compile detect landlock in case
kernel headers >= 5.13)
- unaligned-access: use 'auto' (which will default to yes for x86, x86-64,
powerpc, powerpc64 and powcerpc64le and use compile detection for arm,
aarch64 and riscv, see xz-5.6.0/configure line 21323 ff)
Since there are so many options, we reuse the target options for the
host. The options that are set dynamically need to be explicitly
overridden in that case.
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[Arnout:
- fix type Z_CONF_OPTS, detected by check-package;
- move setting of HOST_XZ_CONF_OPTS after all the target options.]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
- add key hint for download signature check
- update COPYING hash due to [1] (change of home page URL)
For details see [2].
This version was released after the backdoor, but never included the
backdoor code (it's from the older stable branch).
[1] c5c091332c
[2] https://github.com/tukaani-project/xz/releases/tag/v5.4.7
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
The toolchain is needed to build the final-stage go compiler, when it
should have CGO support.
However, in commit 0290c543de (package/go: new subdirectory for go
variants), the HOST_GO_DEPENDENCIES assignment was only partially split
off to the new location; part of it was left in the ole go.mk to act as
common variables. With that commit, the go package had not been renamed,
which meant that the dependencies were still correct.
But in commit fa2536ec94 (package/go: make host package a virtual
package), the 'go' package was renamed to 'go-src', and replaced by a
'go' virtual package.
The variables in the go-src package were properly renamed, and the
variables in the go virtual package were properly _not_ renamed. As a
consequence, the go-src package lost its dependency on the toolchain
when needed, while the go virtual package still had it.
However, that was not correct when CGO is enabled (i.e. when the target
has threads): go-src then fails to build:
Building Go cmd/dist using [...]/host/lib/go-1.21.8. (go1.21.8 linux/amd64)
go tool dist: cannot invoke C compiler ["[...]/host/bin/aarch64-linux-gcc"]:
fork/exec [...]/host/bin/aarch64-linux-gcc: no such file or directory
Go needs a system C compiler for use with cgo.
To set a C compiler, set CC=the-compiler.
To disable cgo, set CGO_ENABLED=0.
After some retro-thinking, the reasoning behind this was that the
toolchain would _also_ be needed when using the prebuilt go-bin, which
is indeed correct, so by having it as a dependency of the virtual
package, it would ensure the toolchain be present in both cases, when
building from scratch or when using a prebuilt go.
The oversight being that the toolchain is _also_ needed to actually
build go when CGO is enabled.
We fix this by handling the toolchain dependency for CGO by exposing it
in a variable, that can be used as a dependency in go-src, like is done
to actually enable or disable CGO support.
We still ensure that host-go still depends on it, for a future go-bin
provider.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Even though the "no-engine" option effectively disables the compilation
of the engine, it still creates the installation directory, which ends up
being empty. For this reason, the patch does not remove the hook for
removing the directory if the BR2_PACKAGE_LIBOPENSSL_ENGINES option is
not enabled.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
With version 3.2.0 of OpenSSL, the "no-apps" configuration option was
added, which does not build apps, e.g. the openssl program. This is
handy for minimization. This option also disables tests.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
The patch expresses the same condition in positive logic, consistent
with what has been coded in other parts of the module and generally
in Buildroot.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
The bump to version 3.0.9 in commit 3c66f65a6a (package/libopenssl:
bump version to 3.0.9), and all subsequent updates, forgot to change
the directory name, which remained that of version 1.1. The patch
fixes the directory name to be consistent with the version.
In the case the library was not built with engine support, this resulted
in the presence of files in the root file system that should have been
removed.
Fixes: 3c66f65a6a
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Commit f77d698f83 changed apply-patches to
use $TAR instead of `tar`, but did not define a fallback if $TAR is not
defined. This results in an error when calling apply-patches.sh from
outside Buildroot's Makefile. Our team uses this script to setup local
checkouts of Buildroot package's with patches for development.
Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
From the release notes:
================================================================================
Redis 7.2.5 Released Thu 16 May 2024 12:00:00 IST
================================================================================
Upgrade urgency MODERATE: Program an upgrade of the server, but it's not urgent.
Bug fixes
=========
* A single shard cluster leaves failed replicas in CLUSTER SLOTS instead of removing them (#12824)
* Crash in LSET command when replacing small items and exceeding 4GB (#12955)
* Blocking commands timeout is reset due to re-processing command (#13004)
* Conversion of numbers in Lua args to redis args can fail. Bug introduced in 7.2.0 (#13115)
Bug fixes in CLI tools
======================
* redis-cli: --count (for --scan, --bigkeys, etc) was ignored unless --pattern was also used (#13092)
* redis-check-aof: incorrectly considering data in manifest format as MP-AOF (#12958)
Signed-off-by: Titouan Christophe <titouanchristophe@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
riscv-isa-sim (Spike) has not received any tag or release in the past
years. As of the time of this commit, the latest release is still
v1.1.0 (2021-12-17), see [1].
This commit bumps to the latest commit 00dfa28cd7. For the commit log,
see [2]. This bump includes many RISC-V spec and extension updates.
Also, when host gcc >= 13, riscv-isa-sim compilation fails with
output:
In file included from ./fesvr/syscall.h:6,
from ./fesvr/syscall.cc:3:
./fesvr/device.h:15:30: error: 'uint64_t' was not declared in this scope
15 | typedef std::function<void(uint64_t)> callback_t;
| ^~~~~~~~
This bump includes commits for fix those issues. For example, see [3].
Fixes: [4] and few others.
[1] https://github.com/riscv-software-src/riscv-isa-sim/releases/tag/v1.1.0
[2] 00dfa28cd7
[3] 0a7bb5403d
[4] http://autobuild.buildroot.org/results/c30/c300f1c84033aec1d265b682e4c1da5362d25f8b/
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
Upstream notes that libhttp-parser is unmaintained and suggest llhttp
as a replacement. This version bundles llhttp (and includes its license
in COPYING) but still allows to use a system-provided libhttp-parser.
llhttp (https://github.com/nodejs/llhttp) is a C library that depends on
a nodejs interpreter and more than 10 npm dependencies to generate its
parser code. The bundled version contains the generated sources and
could be built without nodejs. But distributing this generated code
as part of libgit2 would probably be legally dubious because of the
GPL's original source code provision, even if llhttp is MIT-licensed.
Packaging llhttp would be a daunting task and its build will require
considerable time and space, so for now, keep using libhttp-parser.
Signed-off-by: Nicolas Cavallari <nicolas.cavallari@green-communications.fr>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
Switch to the skiffos fork as the upstream is not maintained.
Signed-off-by: Christian Stewart <christian@aperture.us>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
This version adds support up to Linux version 6.9.1.
Signed-off-by: Christian Stewart <christian@aperture.us>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
Along with the version bump, a number of the patches have been dropped
or reworked.
Compiled shared module builds are now disabled via py_cv_module_* = n/a
when possible (see PY_STDLIB_MOD_SET_NA). Leveraging this method allows
dropping numerous patches.
Note: this method does not work when access to a compiled module is
wrapped by a python-based module such as sqlite, tkinter, etc. In these
cases, configure knobs are still required to disable these modules and
their wrappers.
Both setup.py and distutils are no longer utilized upstream, so patches
have been dropped or adjusted accordingly.
Patch 0007 has been dropped, the Xtensa architecture can avoid compile
errors by using a toolchain with kernel headers newer than 3.17 [0].
That would require a new, non-trivial dependency to be added, but it
would also need to be propagated to all packages that select python3; as
we consider xtensa with old headers to be a corner case, we decide to
not address the issue, and rather add an exclusion in genrandconfig to
avoid the issue in autobuilders.
Patch 0026 has been dropped, the issue is fixed in uClibc v1.0.37+ [1].
Note: uClibc is not generally supported by upstream CPython.
While we're making assumptions about uClibc, ac_cv_func_wcsftime=no is
no longer set as it was fixed in v1.0.0 [2].
Co-developed-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Co-developed-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[See 36e635d2d5]
Co-developed-by: Roy Kollen Svendsen <roy.kollen.svendsen@akersolutions.com>
[See 687b96db4d]
[0]: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=f61bf8e7d19e0a3456a7a9ed97c399e4353698dc
[1]: https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/libcrypt/crypt.c?id=2f6076cdaada2132b670b5ef25ad80c76a916c5a
[2]: https://lists.uclibc.org/pipermail/uclibc/2014-November/048723.html
Signed-off-by: Vincent Fazio <vfazio@gmail.com>
[yann.morin.1998@free.fr;
- extend the commit log for the xtensa headers case
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Backport an upstream patch to fix a build error with python 3.12 (imp
module not longer available).
Enable SSL in host-python when the admin panel is enabled: web2py will
wnt to generate a password, and uses pydal for that, which in turns uses
hashlib.pbkdf2_hmac(). Until python 3.11, there was a pure-python
fallback for when python was built without openssl; with 3.12, that
fallback was removed, so opensll is now required.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
In rust 1.75.0, the follwong targets were dropped [0]:
mips-unknown-linux-musl
mips64-unknown-linux-muslabi64
mips64el-unknown-linux-muslabi64
mipsel-unknown-linux-musl
[0] 03870154f4
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
When we update the rust version, we need to update a large list of
hashes for rust-bin, and update the hash for rust (source). This is very
tedious and very error-prone.
Add a helper script that generates the hash files automatically, and
also iupdate the _VERSION in the .mk.
We decided not to carry the hint about the verification of the tarballs
against the upstream GPG signature for three reasons:
- it requires that all the tarballs be downloaded, which can take
quite some time;
- the hash files are available for all the needed archives;
- the hash files are downloaded over https, so if someone managed to
get a hold of the rust server to provide backdoored archives, they
can also change the hash files;
- properly verifying the archives would require a chain of trust
between the person running the upsate script, and the rust GPG key,
which is not a given, and verifying sigantures using an unverified
key is not providing much security, if at all.
Regenerate the hash files with that script.
Note (for the future, maybe): there are manifest files for each release,
https:/static.rust-lang.org/dist/channel-rust-VERSION.toml, that we
could use to generate the RUST_HOSTS and RUST_TARGETS list. However,
adding new hosts or new targets implies updating the corresponding
_ARCH_SUPPORTS and accompanying symbols, so better leave that to a
manual operation, at least for now.
Notes: Many thanks to James for providing an initial script with the
same purpose. Given the feedback from previous reviews, it was simpler
to rewrite it from scratch; it should now be much, much simpler.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: James Hilliard <james.hilliard1@gmail.com>
Tested-by: James Hilliard <james.hilliard1@gmail.com>
When xilinx pre-built was added in a6648ad8da (boot/xilinx-prebuilt:
new boot package), the hash file was initially a board-specific hash
file. However, that hash file, in commit a6648ad8da, really belonged
to the xilinx-prebuilt package, for two reasons: the package needs a
hash file for the version it installs, and no defconfig was using it
at that time. So the hash file was moved out of the boar directory,
and into the package directory when the patch was applied.
When the xilinx-related boards were changed to use xilinx-prebuilt, in
551ba16a0f (configs/zynqmp_*: migrate to xilinx-prebuilt) and 8271323649
(configs/versal_vck190_defconfig: migrate to xilinx-prebuilt), they were
correctly made to use a custom, non-default version. But then, it meant
that those defconfig would no longer have a hash when we would bump the
default version in xilinx-prebuilt.
Re-add the initial board-specific hash file now that it is required.
Fixes: 551ba16a0f
Fixes: 8271323649
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Neal Frager <neal.frager@amd.com>
Reviewed-by: Neal Frager <neal.frager@amd.com>
Commit fa2536ec94 (package/go: make host package a virtual package)
introduced host-go as a host-only virtual package, which had a single
provider, the choice of which is only exposed when a (target or host)
package has selected BR2_PACKAGE_HOST_GO to indicate it needs host-go.
However, this forgot to account for prompt-less, host-only packages,
which have no way of selecting that symbol.
Having prompt-less, host-only packages is a totally unexceptional,
supported case; for example a host package can be depended upon by
another (target or host) package, or by a filesystem, and we do not
require Kconfig symbols to be exposed for those packages.
As a consequence, when not package is enabled, that can select that
symbol, we can't run 'make source' or 'make host-foo-source':
make[1]: *** No rule to make target 'host-', needed by
'[...]/build/host-go-1.22.4/.stamp_configured'. Stop.
Fix that by moving the provider symbol out of the if-block, so that
there is always a provider defined.
Now, we only have host-go-src as a provider, but the symbol is still
part of the choice that is conditional (and that _has_ to be
conditional), so the BR2_PACKAGE_HOST_GO_SRC can never be set unless
there is a package that explicitly select BR2_PACKAGE_HOST_GO.
So, drop the conditional on the default, so that there is always a
provider available.
This mirrors other similar situations, like the rust case.
Fixes: fa2536ec94
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
LGTM: Arnout Vandecappelle (Essensium/Mind) (on IRC) <arnout@mind.be>
The patch was added in commit 25991c843c (package/go-bootstrap-stage3:
fix go-bootstrap when parent dir contains invalid .git). Then all the
go-compiler packages were moved to a common sub-directory, in commit
0290c543de (package/go: new subdirectory for go variants).
However, the patch for commit 0290c543de was sent to the mailing list
before 25991c843c was applied, so it could not have moved a file that
was only added later.
Move that file, now.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Thomas Perale <thomas.perale@mind.be>
Cc: Romain Naour <romain.naour@smile.fr>
0001-nano.patch: both MOD_NANO and MOD_TAI were added to glibc 2.12
on 2011-03-30 in commit 83fe108b0a9bc4f2deb14695bb0c8b2011e79f28.
They were added to musl 0.7.5 in commit f5ba2bc9c on 2011-03-18. And
they were added to uClibc 1.0.23 in commit 2d8ea0524b on 2017-03-17. We
consider all of these old enough to assume they always exist.
Renumber the remaining patches.
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>