Following the removal of a number of patches in commit b37e4a5f56182c5b8e4ffce433eb652174a19da6 ("package/python3: drop
unnecessary patches"), this commit renumbers the renaming patches, and
refreshes them as well so they apply cleanly with "git am".
Vincent Fazio [Tue, 7 May 2024 16:29:36 +0000 (11:29 -0500)]
package/python3: drop unnecessary patches
Patches 0004 and 0009 relied upon environment variables that were used
to drive custom logic in distutils when executed by an external Python
interpreter. This issue should have been mostly addressed upstream [0],
but even if that was not the case, distutils is no longer a supported
installation method for packages to use for installation as of 09de823c.
As such, there shouldn't be a need to continue to patch it as setuptools
vendors its own distutils that supercedes the one provided by Python.
Patches 0010 and 0026 (see [1] [2] [3]) can be removed due to a fix
introduced in 3.7 [4].
Patch 0028 can be dropped since commit 3fed4245 removed the dependency
on a host provided python to build host-python3.
Vincent Fazio [Tue, 7 May 2024 16:29:35 +0000 (11:29 -0500)]
packge/pkg-python: drop custom environment variables
Many moons ago, in the dark ages of Python, cross compiles were largely
unsupported. In these before-times, a patchset used by PtxDist [0] [1]
was adapted to help make cross compiles work.
The patchset did a number of things but mainly:
1) used a build-machine compatible python interpreter for certain
stages of the target Python build process
2) made adjustments to certain files to make decisions based on values
set in environment variables instead of the path of the executing
Python interpreter.
Since the path of the interpreter that was build machine compatible was
outside of the target build directory, the code that made assumptions
about the location of headers and library paths being relative to the
interpreter path needed to be adjusted, hence them being driven via
environment variables.
The patchset worked by replacing the executable path to be the sysroot
which included the python headers and libraries.
A number of issues regarding cross compilation [2] [3] [4] have since
been closed since the introduction of this patchset and cross builds
became much better supported starting in Python v3.3.1.
New logic primarily uses the _PYTHON_PROJECT_BASE env variable [5] [6].
When set properly, this drives a few things:
* flags a cross compile environment
* sysconfig.is_python_build = True which triggers:
* altered paths for finding the Makefile and config.h
* altered sysconfig.get_config_var("srcdir")
When migrating to Python 3.4, PtxDist reworked their patchset to use
the standard environment variables for their cross compiles [7].
The distutils module was a primary consumer of the custom variables from
the previous patchset, however, that module is deprecated and packages
cannot target it as of 09de823c.
Package builds and unit tests seem to work without using these variables
being set, implying they can likely be dropped. Packages that still use
distutils should be updated to reflect its removal in 3.12.
Once these custom variables are removed, the following Python3 patches
which leverage them can be dropped:
0004-Adjust-library-header-paths-for-cross-compilation
0009-Do-not-adjust-the-shebang-of-Python-scripts-for-cros
Julien Olivain [Wed, 8 May 2024 15:57:42 +0000 (17:57 +0200)]
package/perftest: bump to version 24.04.0-0.41
For change log since 23.10.0-0.29, see:
https://github.com/linux-rdma/perftest/releases/tag/24.01.0-0.38
https://github.com/linux-rdma/perftest/releases/tag/24.04.0-0.41
Disable chamelium to avoid the following build failure if gsl is found
but not alsa-lib raised since the addition of the package in commit d8a729d1731339da141612be33c5e59bc9928748:
In file included from ../lib/igt_audio.c:35:
../lib/igt_audio.h:35:10: fatal error: alsa/asoundlib.h: No such file or directory
35 | #include <alsa/asoundlib.h>
| ^~~~~~~~~~~~~~~~~~
Charles Hardin [Wed, 17 Apr 2024 18:13:21 +0000 (11:13 -0700)]
package/batctl: update to 2023.1 to match batman-adv
Although the kernel interface has not changed, it is convenient to
have the batctl match the batman-adv version. So, bump the package
to match 01ec4a39f5ceb83c62b0040067ba53197a0a6843 batman-adv bump.
Alexander Shiyan [Fri, 19 Apr 2024 06:12:41 +0000 (09:12 +0300)]
package/libusbgx: bump to recent git version
The current tagged version is more than 6 years old, and no new tags
have been made upstream, so let's update to the latest git version.
The current version contains many fixes and improvements and supports
several new types of USB gadgets.
The patch was a backport from upstream, so it can be dropped.
Also, upstream has changed from https://github.com/libusbgx/libusbgx
to https://github.com/linux-usb-gadgets/libusbgx: the former is a
redirect to the latter.
- With uClibc-ng-1.0.48 we can restore this defconfig because uClibc-ng
now provides the fix for SPARC.
- The instructions in board/qemu/sparc-ss10/readme.txt are still valid
without any corrections. The system boots properly ang the login
prompt appears.
Romain Naour [Mon, 6 May 2024 21:30:38 +0000 (23:30 +0200)]
package/python-rpds-py: bump to version 0.18.1
As reported by Antoine Coutant on the Buildroot mailing list [1]:
rpds depends on the crate pyo3. This crate uses
"std::sync::atomic::AtomicI64"
which doesn't exist for 32 bits targets.
That leads to an error as reported by Buildroot Gitlab-ci.
An issue have been opened on pyo3's github [2].
A fix have been accepted by pyo3 [3] and merged in pyo3 0.20.3 release
[4]. This pyo3 0.20.3 uses crate portable-atomic [5] to provide atomic
types and compare and swap operations for all targets that can use std.
python-rpds-py 0.18.1 is the first release that use pyo3 0.20.3.
Before python-rpds-py 0.18.1 release fixing this issue would require
that we be able to patch a package during the Cargo vendoring step [6].
Create.c: In function 'write_zeroes_fork':
Create.c:155:35: error: 'FALLOC_FL_ZERO_RANGE' undeclared (first use in this function)
155 | if (fallocate(fd, FALLOC_FL_ZERO_RANGE | FALLOC_FL_KEEP_SIZE,
| ^~~~~~~~~~~~~~~~~~~~
as well as the following musl build failure:
util.c: In function 'get_md_name':
util.c:1031:29: error: 'NAME_MAX' undeclared (first use in this function); did you mean 'MD_NAME_MAX'?
1031 | static char devname[NAME_MAX];
| ^~~~~~~~
| MD_NAME_MAX
util.c:1031:29: note: each undeclared identifier is reported only once for each function it appears in
/home/buildroot/instance-0/output-1/host/bin/x86_64-linux-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g0 -DNO_LIBUDEV -DSendmail=\""/usr/sbin/sendmail -t"\" -DCONFFILE=\"/etc/mdadm.conf\" -DCONFFILE2=\"/etc/mdadm/mdadm.conf\" -DMAP_DIR=\"/run/mdadm\" -DMAP_FILE=\"map\" -DMDMON_DIR=\"/run/mdadm\" -DFAILED_SLOTS_DIR=\"/run/mdadm/failed-slots\" -DNO_COROSYNC -DNO_DLM -DUSE_PTHREADS -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DBINDIR=\"/sbin\" -o Monitor.o -c Monitor.c
/home/buildroot/instance-0/output-1/host/bin/x86_64-linux-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g0 -DNO_LIBUDEV -DSendmail=\""/usr/sbin/sendmail -t"\" -DCONFFILE=\"/etc/mdadm.conf\" -DCONFFILE2=\"/etc/mdadm/mdadm.conf\" -DMAP_DIR=\"/run/mdadm\" -DMAP_FILE=\"map\" -DMDMON_DIR=\"/run/mdadm\" -DFAILED_SLOTS_DIR=\"/run/mdadm/failed-slots\" -DNO_COROSYNC -DNO_DLM -DUSE_PTHREADS -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DBINDIR=\"/sbin\" -o dlink.o -c dlink.c
Create.c: In function 'write_zeroes_fork':
Create.c:155:35: error: 'FALLOC_FL_ZERO_RANGE' undeclared (first use in this function)
155 | if (fallocate(fd, FALLOC_FL_ZERO_RANGE | FALLOC_FL_KEEP_SIZE,
| ^~~~~~~~~~~~~~~~~~~~
openocd is not compatible with libgpiod2 resulting in the following
build failure since the addition of libgpiod2 in commit 57391fad2e619395340b81957ddceab1b1df2e20:
src/jtag/drivers/linuxgpiod.c: In function 'helper_get_line':
src/jtag/drivers/linuxgpiod.c:283:19: error: 'GPIOD_LINE_REQUEST_DIRECTION_INPUT' undeclared (first use in this function); did you mean 'GPIOD_LINE_DIRECTION_INPUT'?
283 | int dir = GPIOD_LINE_REQUEST_DIRECTION_INPUT, flags = 0, val = 0, retval;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| GPIOD_LINE_DIRECTION_INPUT
Many of Intel based tablets (and all phones that were designed with
Intel SoCs) have Intel AtomISP v2 engine. Add an entry for recently
added firmwares for them.
support/testing: TestPerlDBDmysql: use ext2 instead of cpio
The CPIO filesystem generated by TestPerlDBDmysql is too large, and
doesn't fit as an initramfs in the 256MB of RAM available in the
versatilepb machine. This causes a failure while running a basic
test "perl -MDBI -e '1'" since "/usr/lib/perl5", and many files
being missing from the root filesystem, ultimately causing the test
to fail.
Can't locate DBI.pm in @INC (you may need to install the DBI module)
(@INC entries checked: /usr/lib/perl5/site_perl/5.38.2/arm-linux
/usr/lib/perl5/site_perl/5.38.2 /usr/lib/perl5/5.38.2/arm-linux
/usr/lib/perl5/5.38.2).
It would make sense to switch all test cases to use ext2 + a
hard-drive, but for now, let's fix the few test cases that are causing
problems.
Bryan Brattlof [Thu, 2 May 2024 16:26:54 +0000 (11:26 -0500)]
boot/ti-k3-boot-firmware: bump to version 09.02.00.009
The 09.02.00.009 release of ti-linux-firmware has the latest updates to
TI's TIFS, DM and DMSC firmware needed for the K3 generation of
processors. Update to pull in these latest updates.
Bryan Brattlof [Thu, 2 May 2024 16:26:53 +0000 (11:26 -0500)]
boot/ti-k3-r5-loader: bump to version v2024.04
The ti-k3-r5-loader is just U-Boot with a different defconfig compiled
for the 32b MCU cores needed for TI's K3 generation of SoCs. Update to
match the U-Boot version
PIE will be set by buildroot if the user wants it so set
{COMPILE,LINK}_PIE to an empty value to fix the following build failure
raised since the addition of the package in commit 02c818bc5c7a6967a212f12e4caa8ccdfa0b452b:
/home/buildroot/autobuild/run/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/m68k-buildroot-linux-uclibc/12.3.0/../../../../m68k-buildroot-linux-uclibc/bin/ld: /home/buildroot/autobuild/run/instance-3/output-1/host/m68k-buildroot-linux-uclibc/sysroot/usr/lib/Scrt1.o: in function `lib_main':
(.text+0x4): undefined reference to `__shared_flat_add_library'
package/liburiparser: security bump to version 0.9.8
- Fixed: [CVE-2024-34402]
Protect against integer overflow in ComposeQueryEngine
- Fixed: [CVE-2024-34403]
Protect against integer overflow in ComposeQueryMallocExMm
This patch adds basic support for the new OrangePi Zero2W board:
- http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-2W.html
Brief summary of the board features:
- H618 Allwinner SoC
- Quad-Core ARM Cortex-A53 Processor 1.5GHz
- Mali G31 MP2 GPU
- LPDDR4: 1GB/2GB/4GB
- Wi-Fi5.0+BT 5.0
- 2x Type-C USB 2.0
- 1x Mini HDMI
- Wi-Fi 5.0 + BT 5.0
- 40-pin expansion interface (GPIO / UART / I2C / SPI / PWM)
- 24-pin expansion interface (2x USB 2.0 / ETH / IR / audio)
BSP includes the following components:
- mainline ATF v2.10
- mainline U-Boot v2024.04
- mainline Linux kernel v6.8
No custom scripts required: all is covered by common orangepi scripts.
However new option BR2_DOWNLOAD_FORCE_CHECK_HASHES requires checksums
for all the BSP components. They are added as board specific patches.
package/oprofile: fix static build with binutils >= 2.40
sframe library was added by binutils 2.40 and
https://github.com/bminor/binutils-gdb/commit/19e559f1c91bfaedbd2f91d85ee161f3f03fda3c
resulting in the following static build failure:
/home/buildroot/autobuild/run/instance-1/output-1/build/binutils-2.41/bfd/elf-sframe.c:220: undefined reference to `sframe_decode'
The Linux kernel fails to build since commit e88225ed882 (package/binutils:
make 2.41 the default version):
arch/arm/mm/proc-feroceon.S: Assembler messages:
arch/arm/mm/proc-feroceon.S:587: Error: junk at end of line, first unrecognized character is `#'
make[3]: *** [scripts/Makefile.build:430: arch/arm/mm/proc-feroceon.o] Error 1
make[3]: *** Waiting for unfinished jobs....
Fix the build by bumping the kernel to 4.14.336, which includes commit 3ab03df64f77 (ARM: 8933/1: replace Sun/Solaris style flag on section
directive):
sys-linux.c: In function 'get_ppp_stats_rtnetlink':
sys-linux.c:1783:29: error: field 'ifsm' has incomplete type
1783 | struct if_stats_msg ifsm;
| ^~~~
/home/autobuild/autobuild/instance-0/output-1/host/lib/gcc/arm-buildroot-linux-musleabi/12.3.0/../../../../arm-buildroot-linux-musleabi/bin/ld: ../lib/.libs/libshadow.a(libshadow_la-alloc.o): in function `xcalloc':
alloc.c:(.text+0x7c): undefined reference to `libintl_gettext'
Arnout noticed during the review that uboot.hash was missing from
BR2_GLOBAL_PATCH_DIR.
"The hash for 2024.01 is currently in boot/uboot/uboot.hash, but as soon as we
update the U-Boot version, it will no longer be. So to be future safe, we should
add a local override of the uboot hash file as well (which is simply identical
to uboot.hash)."
This is required since BR2_DOWNLOAD_FORCE_CHECK_HASHES is now enabled.
Commits 8a4c3c91e7 ("boot/ti-k3-r5-loader: add BR2_TARGET_TI_K3_R5_LOADER_USE_BINMAN option")
and 1aec483412 ("boot/uboot: add BR2_TARGET_UBOOT_USE_BINMAN option")
added the python-jsonschema (target variant) dependency to the binman
option while only host-python-jsonschema is required.
stress-sock.c: In function 'stress_sock_client':
stress-sock.c:656:35: error: 'SO_ZEROCOPY' undeclared (first use in this function); did you mean 'MSG_ZEROCOPY'?
656 | if (setsockopt(fd, SOL_SOCKET, SO_ZEROCOPY, &so_zerocopy, sizeof(so_zerocopy)) == 0) {
| ^~~~~~~~~~~
| MSG_ZEROCOPY
stress-sock.c:656:35: note: each undeclared identifier is reported only once for each function it appears in
CC stress-sockfd.c
stress-sock.c: In function 'stress_sock_server':
stress-sock.c:1060:34: error: 'SO_ZEROCOPY' undeclared (first use in this function); did you mean 'MSG_ZEROCOPY'?
1060 | if (setsockopt(fd, SOL_SOCKET, SO_ZEROCOPY, &so_zerocopy, sizeof(so_zerocopy)) == 0) {
| ^~~~~~~~~~~
| MSG_ZEROCOPY
Dario Binacchi [Thu, 2 May 2024 07:23:26 +0000 (09:23 +0200)]
package/qemu: fix disabling fp-bench test compilation
With the bump to version 8.1.1, the patch that disabled the compilation
of the fp-bench test is no longer applicable, even though the package
compilation process does not report any errors in applying the patch
itself. The new patch does not disable the test by default but only if
the file fenv.h is not missing, with the hope that this approach will be
considered acceptable by the maintainer and merged upstream.
The patch is an adaptation of the one sent upstream.
- Drop patches (already in version)
- docs/copying.htm renamed to docs/copying.htm.md, and reformatted from
HTML to Markdown, with upstream commit:
https://github.com/gdraheim/zziplib/commit/b8138ba56ecb9d5d27c22d85fae37bdd594d2edb
In file included from /home/buildroot/autobuild/run/instance-2/output-1/build/glog-0.7.0/src/demangle.cc:43:0:
/home/buildroot/autobuild/run/instance-2/output-1/build/glog-0.7.0/src/utilities.h:210:22: error: enclosing class of constexpr non-static member function 'google::glog_internal_namespace_::FileDescriptor::operator bool() const' is not a literal type
constexpr explicit operator bool() const noexcept {
^
/home/buildroot/autobuild/instance-3/output-1/host/lib/gcc/or1k-buildroot-linux-gnu/12.3.0/../../../../or1k-buildroot-linux-gnu/bin/ld: mdmon.o: non-pic relocation against symbol
/home/buildroot/instance-0/output-1/build/proj-9.3.0/src/iso19111/factory.cpp: In member function 'std::shared_ptr<osgeo::proj::io::SQLiteHandle> osgeo::proj::io::SQLiteHandleCache::getHandle(const std::string&, PJ_CONTEXT*)':
/home/buildroot/instance-0/output-1/build/proj-9.3.0/src/iso19111/factory.cpp:622:9: error: 'pthread_atfork' was not declared in this scope; did you mean 'pthread_attr_t'?
622 | pthread_atfork(nullptr, nullptr,
| ^~~~~~~~~~~~~~
| pthread_attr_t
Commit 929bffbf4bf8fcb91bda446777f907f32c782656 forgot to update patch
number
Moreover, replace it with a new iteration to follow upstream request [1]
and avoid the following build host build failure with br-autobuild-1:
/usr/bin/ld: cannot find /usr/lib64/libatomic.so.1.2.0: No such file or directory
Brandon Maier [Fri, 3 May 2024 01:59:59 +0000 (01:59 +0000)]
package/bats-file: new package
bats-file is a helper library providing common filesystem related
assertions and helpers for Bats.
This library does not provide an installer. Manually install the files
under /usr/lib/bats/bats-file which is what the Arch Linux package
does[1]. This makes the library loadable using `bats_load_library`[2].
Brandon Maier [Fri, 3 May 2024 01:59:58 +0000 (01:59 +0000)]
package/bats-assert: new package
bats-assert is a helper library providing common assertions for Bats.
This library does not provide an installer. Manually install the files
under /usr/lib/bats/bats-assert which is what the Arch Linux package
does[1]. This makes the library loadable using `bats_load_library`[2].
Brandon Maier [Fri, 3 May 2024 01:59:57 +0000 (01:59 +0000)]
package/bats-support: new package
This library provides support functions needed by the bats-assert and
bats-file libraries.
This library does not provide an installer. Manually install the files
under /usr/lib/bats/bats-support which is what the Arch Linux package
does[1]. This makes the library loadable using `bats_load_library`[2].
Correctly fix atomic handling to avoid the following build failure with
all users of libglib2 (e.g. gdk-pixbuf) raised since bump to version
2.76.1 in commit 3f9622fe3d85b4d9f734b879abc1d485afea19b2:
/usr/lib/libglib-2.0.a(gthread-posix.c.o): in function `g_mutex_trylock':
gthread-posix.c:(.text+0xda8): undefined reference to `__atomic_compare_exchange_4'